我有一个文本字段,用户可用来搜索项目。onkeyup
附加了一个侦听器,该侦听器根据输入的内容搜索数据库。在Chrome浏览器中,此方法效果很好,但在Firefox中却存在滞后,快速键入器将在文本字段中看到缺少的字符。这是Firefox问题,还是有解决方法?
为了大致了解我在代码中的工作方式,我需要执行以下操作:
<input type="text" onkeyup="makeRequest()">
function makeRequest() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("POST", url + parameters, false);
xmlhttp.send("#");
return xmlhttp.responseText;
}
可能使它异步并具有某种控制,以便在一个请求仍在进行时不触发它。在这种情况下,我认为这会更有意义,也可以在Firefox上解决您的问题。
现在,如果有人快速输入许多字母,那么您无论如何都会发送不必要的请求。
像那样:
//html file
<input type="text" onkeyup="makeRequest()">
//java script file
function makeRequest() {
if(!req_called){
req_called = true;
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("POST", url + parameters, true);
xmlhttp.load = function(){
req_called = false;
return xmlhttp.responseText;
}
xmlhttp.send("#");
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句