我在同一页上还有一个输入框 - ibox2
。
问题 - 在 ibox1
上做任何事情并留下长度 > 5 的值后,如果我开始输入 ibox2
焦点跳回到 ibox1
。
if
循环与 ibox1.focus()
正在执行此操作。在外部单击并使 if
循环及其语句无效时,我如何才能完全从 ibox1
中移除焦点。
我尝试了 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 - 请不要将其标记为重复的,我已经尝试了这里几乎所有的方法,然后才发布了这个。我会在得到解决方案后将其删除。
尊敬的模组,我遵循了一个很好的公认答案,并在理解 $('document') 时犯了一个错误,但我现在已经清除了它。这就是我不删除这个问题的原因,即使我说我会,因为它可能对其他人有帮助。各位,如果 你觉得,可以删除这个。谢谢。
最佳答案
焦点跳回到 ibox1
,因为每次触发 onChange
事件时,您都会指示文档这样做。
例如:$(document).on("change", ibox1, funct...
调用 ibox1.focus();
`.
可能的解决方案:将您的更改事件绑定(bind)到感兴趣的元素本身,并避免将来将具有这种局部意义的事件绑定(bind)到整个文档。
关于javascript - 从先前聚焦的输入框移除焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55209389/