var searchReq=createAjaxObj();
function createAjaxObj()
{
var httprequest=false;
if(window.XMLHttpRequest)
{
httprequest=new XMLHttpRequest();
if(httprequest.overrideMimeType)
httprequest.overrideMimeType('text/xml');
}
else if (window.ActiveXObject)
{
//IE
try
{
httprequest=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
httprequest=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
}
}
}
return httprequest
}function searchSuggest()
{
if (document.getElementById('keyword').value.length>0)
{
var str=escape(document.getElementById('keyword').value);
url="/ajax_search.asp?search="+str+ "&t=" +  new Date().getTime();
searchReq.open("get",url);
searchReq.onreadystatechange=handleSearchSuggest;
searchReq.send(null);
}
else
{
document.getElementById("search_suggest").innerHTML="";
document.getElementById("search_suggest").style.display="none";
}

}function handleSearchSuggest()
{
if(searchReq.readyState==4)
{
var ss=document.getElementById("search_suggest");
ss.innerHTML="";
s0=searchReq.responseText.length;
if (s0>0)
{
xmldoc=searchReq.responseXML;
var message_nodes=xmldoc.getElementsByTagName("message");
var n_messages=message_nodes.length;
if (n_messages<=0)
{
document.getElementById("search_suggest").innerHTML="";
document.getElementById("search_suggest").style.display="none";
}
    else

document.getElementById("search_suggest").style.display="block";
for (i=0;i<n_messages;i++ )
{
var suggest='<div onmouseover="javascript:suggestOver(this);"';
suggest+='onmouseout="javascript:sugggestOut(this);"';
suggest+='onclick="javascript:setSearch(this.innerHTML);"';
suggest +='class="suggest_link">'+message_nodes[i].getElementsByTagName("text")[0].firstChild.data+'</div>';
ss.innerHTML +=suggest;
}
}
}
else
{
document.getElementById("search_suggest").innerHTML="";
document.getElementById("search_suggest").style.display="none";
}
}
else
{
//alert('网络连接失败');
}
}function suggestOver(div_value)
{
div_value.className='suggest_link_over';
}function sugggestOut(div_value)
{
  div_value.className='suggest_link';
}function setSearch(div_value)
{
   document.getElementById("keyword").value=div_value;
   document.getElementById("search_suggest").innerHTML="";
   document.getElementById("search_suggest").style.display="none";
}
上面是js代码,求高手帮忙加一个键盘上下回车事件进去,现在只支持鼠标操作,不支持键盘。地址:www.bbmoo.com
分不多,请热心人士帮帮忙....

解决方案 »

  1.   

    网上查出对应的键盘的值
    在onkeypress事件触发时if(event.keyCode == "键盘值得")
    {
         具体操作
    }
      

  2.   

    写搜索格子的 keypress事件自己写上下选择变颜色的控制
    和回车 选中!
      

  3.   

    like_google search www.bindeng.com  www.gcoge.com
      

  4.   

    处理键盘操作包括两方面,1是不断的输入或者是输入特殊字符键,或者是删除、退格键 二是要处理上下回车及esc键。所以得加上这两方面的处理第一点:function handleKeyUP(oEvent)
    {
       var iKeyCode=oEvent.keyCode;if(iKeyCode==8||iKeyCode==46)  //backspace and delete
       {
           sendRequest(keyword);  //send request
     
       }else if(iKeyCode<32||(iKeyCode>=33 && iKeyCode<=46)||(iKeyCode>=112 && iKeyCode<=123)){
           //tab,shift ctrl,alt etc || page up,page down,end,home tec || f1~f12  ingore
       }
       else
          sendRequest(keyword);  //send request}
      

  5.   

    function handleKeyDown(oEvent)
    {
      switch(oEvent.keyCode)
      {
           case 38://up       case 40://down       case 27://esc
           case 13://enter  }
    }
    具体请参考《Ajax高级程序设计》的第七章  p202,p199
      

  6.   

    WWW.BINDENG.COM  www.gcoge.com   www.gcoge.cn