我在同一页面上还有一个输入框-ibox2

问题-在ibox1上执行任何操作并在其中保留length> 5的值之后,如果我开始输入ibox2,焦点将跳回到ibox1

正是if循环与ibox1.focus()一起完成了它。在外部单击时,如何将焦点完全从ibox1中移开,并使if循环及其语句无效。

我尝试了blur,但没有成功。

var ibox1 = $("#inputbox1");

$(document).on("change", ibox1,function(e) {

   var valu = ibox1.val();

   if(valu.length > 5){

      #do something
      ibox1.focus(); #used this as input box lost focus with each charater typed.

   }

});

var ibox2 = $("#inputbox2"); #This is for google places autocomplete.

PS-请不要将其标记为重复项,我在这里尝试了几乎所有内容,然后才发布了此内容。得到解决后,我将其删除。

尊敬的mod,我遵循了一个很好的公认答案,并在理解$('document')时犯了一个错误,但现在我将其清除了。这就是我不删除此问题的原因,即使我说可以,也可能会帮助其他人。你们如果
您觉得可以删除它。谢谢。

最佳答案

焦点正在跳回ibox1,因为每次onChange事件被触发时,您都在指示文档这样做。

例如:$(document).on("change", ibox1, funct...您要在其中调用ibox1.focus();`。

可能的解决方案:将更改事件绑定(bind)到感兴趣的元素本身,并避免将来将具有局部重要性的事件绑定(bind)到整个文档。

09-17 19:33