我必须退格两次:
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
来代替。
关于javascript - 在 div 关闭 .length==0 之前需要退格两次,尽管在手机上退格两次不会隐藏它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22866430/