【发布时间】:2019-05-13 21:31:01
【问题描述】:
我有一个文本框,由 jquery “观察”几个动作,所有代码都是“搜索即输入”表单的一部分。 好吧,一切都在 Mozilla 上完美运行,但在 Chrome 中,文本框在第一次点击后失去焦点,所以我必须再次点击文本框才能继续搜索。有什么线索吗?我的经验导致我遇到错误
<div class="search-container">
<input type="text" placeholder="Search.." name="searchb" >
</div>
<script>
$('input[name="searchb"]').on('input propertychange
paste',function(){
if ($(this).val().length > 2){
document.cookie = "psearch="+this.value+";"+"path=/";
window.open("main.php?psearch="+this.value, "iframe_a");
}
});
</script>
【问题讨论】:
-
你为什么要
window.open()? -
只有当
if ($(this).val().length > 2)条件为真时才会出现这种情况吗? -
此代码在 Chrome 和 Firefox 中都适用于我。如果只注释掉这个事件监听器,输入在 1 次击键后是否仍然失去焦点?
-
@Patrick Q,因为我必须在某处发布结果,除了在框架中打开页面之外,我没有其他方法可以做到这一点,我可以尝试使用 div 刷新,但仍然无法计算最好的做法,但我最终可能会遇到同样的问题。
-
@kingunits 对 ajax 做一些研究。这就是你想要的。