日期:2014-05-16  浏览次数:20690 次

ajax 搜索时多关键词,太耗内存cpu
test.html 页面

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<title>搜索提示</title> 
</head> 
<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript"> 
var line = 0;//定义一个全局的line以用于记录当前显示的是哪一行 
var keywords = "";//用于记录用户输入的关键字,因为在上下键操作的过程中会改变搜索框的值,用户在通过键盘上下键操作时应该还可以返回到他最初的状态 
 
$(document).keyup(function(event){//用户通过键盘进行操作,按键弹起时                      
 
    $("#keyword").bind("propertychange", showGs);//将mychange事件绑定到propertychange事件上 
    $("#keyword").bind("input", showGs);//firefox  与上面的效果类似,只是在firefox中是input事件 
 
    if(event.keyCode != 40 && event.keyCode != 38 && event.keyCode != 13){//当用户不是在按上下与回车键时,将搜索框中的值赋给keywords,记录用户的初始状态 
          keywords = $("#keyword").val();                                    
    } 
 
 }); 
 
 
$(document).keydown(function (event) {// 38上  40下 13回车  //用户通过键盘进行操作,按键按下起时  
        if($.browser.msie){ 
            var keyStr=event.keyCode; 
        }else{ 
            var keyStr=event.which; 
        } 
        if(document.getElementById("ts").style.display == "block"){ 
            //按键盘的上方向键 
            if(keyStr==38){ 
             
                  $("#keyword").unbind("propertychange");//移除propertychange事件 
                  $("#keyword").unbind("input");//firefox与上面类似 
                   
                  var html = ""; 
                  line = (line == 0 ? $("#newUrl li").length : line-1 ); 
                  if(line == 0){