我必须退格两次:
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
。