input onkeyup 弹出 div+table 的数据列表后,整个页面变得很慢,不知道怎么回事??
(php+mysql+js) ajax取数据库中的数据在,div中的table 显示,可以支持上下键操作,及 tr中onmouseover onmouseout主要代码:
a.html
<?php
require_once("../globaltop.php");
//require_once("../class/sql.php");
//$mysql= new DB_sql();
require_once("../var.php");
require_once("ajaxcomm.php");
?>
<html>
<head>
<script type=text/javascript>
function query_List(inputobj,tid,borc)
   {
//alert("fdflsd")
if (event.keyCode!=37 && event.keyCode!=38 &&  event.keyCode!=39 &&  event.keyCode!=40 && event.keyCode!=13 && event.keyCode!=9)  //上下
{
    //alert("in")
qobj=document.all(inputobj).name;
mtype=borc;

ss=document.all(inputobj).value;
inputid=tid;

if(tt)
{
clearTimeout(tt);
}

if(ss!="")
{
isdropdown='n';
tt = setTimeout("querydata()",1500);
}

else
{

Divhidden();
}
}
///keyup 响应事件
if(isdropdown=='y' && tindex==0)
    setDivOptionFocus(); //按同下键响应,使optd 层获取焦点
  
}

function querydata()
{

xajax_queryList(qobj,inputid,ss,mtype);

}
</script>
</head>
<body>
<div id="inputdiv" Onkeydown="SimulateEnterKey();setQickKey()">   <!-- inputdiv Enter 模拟 Tab 键功能区 -->
<table width="850" border="0" cellspacing="0" cellpadding="0" bgcolor="#f5faff" align="center">
<tr bgcolor="#f5faff">
<td width="30%">委托单位:<input name="unit" type="text" class=""  id="0102" onblur="InuptDivhidden();checkIdNull('unit');" onkeyup="query_List('unit','unitid','c')"> 
<td>
</tr>
</table>
 <!-- ****************弱出列表层    xajax用 **************************-->
 <div id="optd" class="optionDiv" style="display:none" onkeyup="keySelect()"></div> 
</body>
</html>
a.php<?phpfunction queryList($obj,$objid,$ss,$boc)
{
global $mysql;
 
$objResponse = new xajaxResponse();

$ss=ltrim($ss);
$ss=rtrim($ss);

$str="select businessid,itemno,name,dept from business where borc='$boc' and (name like '%$ss%' or itemno like '%$ss%') and name!='admin' order by businessid";


// $objResponse->assign("test",innerHTML,$ss);

$result=$mysql->query($str);
if(!$result)
{
$objResponse->alert("系统出错,请重试!!!");
return $objResponse;
}

$rec=$mysql->fetch_all_array($result);
$i=0;
// 表格头部不动
$htmlstr="<div id='tahead' class='optionDivhead'>";
$htmlstr.="<table id='ajaxthead' width='100%' border='0' cellspacing='1' cellpadding='1' bgcolor='#e6ebff'>";
$htmlstr.="<tr bgcolor='#f8fdff'><td height='15' align='center' width='40px'>简称</td>";
$htmlstr.="<td align='center'>名称</td></tr></table></div>"; 

///optionDivbody
$htmlstr.="<div id='tabody' class='optionDivbody'>";
$htmlstr.="<table id='ajaxtbody' width='100%' border='0' cellspacing='1' cellpadding='1' bgcolor='#e6ebff'>";
 

while(list($id,$itemno,$name,$detp)=$rec[$i])
{

$i++;

$htmlstr.="<tr bgcolor='#f7fcff' id=\"tr$i\" style='cursor:hand' onmouseover=\"ChangeColorOver(this);setTbIndex('$i');setBu_EmValue('".$obj."','".$name."','".$objid."','".$id."');\" onmouseout=\"ChangeColorOut(this)\" onclick=\"setBu_EmValue('".$obj."','".$name."','".$objid."','".$id."');Divhidden();\">";
$htmlstr.="<td height='15' name='td$itemno' width='40px'>$itemno</td>";
$htmlstr.="<td>$name<input type=hidden name='dtname$i' value='$name'><input type=hidden name='dtid$i' value='$id'></td></tr>";
}
     $htmlstr.="</table></div>";
     
    // $objResponse->alert($htmlstr);
     //div层
      $objResponse->script("setmaxlinenum('$i')");//设置行数
      $objResponse->script("isdropdown='y'");
      $objResponse->script("strinputstr='$obj'");//input 源名字
      //$objResponse->script("inputid='$objid'");//input 源名字
     // $objResponse->script("setInuptKeyupEvent()");//添加input onKeyup事件 
     
                
      //table
      $objResponse->assign("optd",innerHTML,$htmlstr);//绘制表格
      
      $objResponse->script("setDivPosition('$obj','$boc')");//设置表格的位置
      
        
         
return $objResponse;

}
$xajax->processRequest();?>