Javascript Firefox中onkeyup侦听器的文本框中缺少字符
我有一个文本字段,用户可以使用它来搜索项目。附加了一个Javascript Firefox中onkeyup侦听器的文本框中缺少字符,javascript,firefox,onkeyup,Javascript,Firefox,Onkeyup,我有一个文本字段,用户可以使用它来搜索项目。附加了一个onkeyup侦听器,它根据输入的内容搜索数据库。在Chrome中,这很好,但在Firefox中存在延迟,快速打字机会在文本字段中看到缺少的字符。这是Firefox的问题还是有解决方法 为了大致了解我在代码中所做的工作,我有如下内容: HTML 可能使其异步,并具有某种控制,以便在一个请求仍在进行时不会触发它。在这种情况下,我认为这会更有意义,也可能解决你在Firefox上的问题 现在,如果有人很快打了很多信,你还是在发送不必要的请求 就像这
onkeyup
侦听器,它根据输入的内容搜索数据库。在Chrome中,这很好,但在Firefox中存在延迟,快速打字机会在文本字段中看到缺少的字符。这是Firefox的问题还是有解决方法
为了大致了解我在代码中所做的工作,我有如下内容:
HTML
可能使其异步,并具有某种控制,以便在一个请求仍在进行时不会触发它。在这种情况下,我认为这会更有意义,也可能解决你在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("#");
}
}
//html文件
//java脚本文件
函数makeRequest(){
如果(!req_调用){
req_called=true;
var xmlhttp=new XMLHttpRequest();
open(“POST”,url+参数,true);
xmlhttp.load=函数(){
req_called=false;
返回xmlhttp.responseText;
}
xmlhttp.send(“#”);
}
}
也许可以尝试添加一些代码。。
function makeRequest() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("POST", url + parameters, false);
xmlhttp.send("#");
return xmlhttp.responseText;
}
//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("#");
}
}