在 div 在 .length==0 关闭之前需要退格两次,尽管手机上的退格两次不会隐藏它



我必须退格两次:

if (str.length==0) { } 

去工作。虽然在手机上,当我退格两次时,它不会隐藏div。我想知道如何解决这个问题。当字符串长度为 0 时,代码似乎相当简单,例如空,它应该隐藏div,尽管它没有?

function showResult(str) {
if (str.length==0) {
$("#livesearcher").hide();
} else {
$("#livesearcher").show();
$("#livesearcher").load('inc/search_res.php?q='+str);
}
}

这就是我调用函数的方式:

<input type='text' name='q' value='' maxlength='255' onkeydown='showResult(this.value)' id='searcherin' autocomplete='off'>
onkeydown

文本框的值更新之前触发,因此它仍然具有以前存在的任何内容。

请改用onkeyup

但是,应该注意的是,许多移动浏览器不会在输入上触发onkey*事件,您应该改用onchange

最新更新