jquery使用on给input绑定focus事件和alert组合后无限弹出

Posted yanggb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery使用on给input绑定focus事件和alert组合后无限弹出相关的知识,希望对你有一定的参考价值。

我们知道,jQuery中的on方法是可以无限触发的,当给input绑定了focus事件的时候,如果在focus事件中使用了alert弹出框的话,很容易就会造成死循环(无限弹出框)的现象。

原因是因为,jQuery的on绑定的这个focus事件是组合了onfocus(获取焦点)和onblur(失去焦点)两个javascript事件的,当alert弹出之后如果去点击弹出框的确认按钮就会触发onblur事件,可是在弹出框关闭之后焦点又回到了input输入框中,又触发onfocus事件,陷入了一个无限弹出的死循环中。

这个时候如果非要使用alert的话,最好的解决的办法就是不使用on绑定focus事件。

 

"一个萝卜一个坑。"

以上是关于jquery使用on给input绑定focus事件和alert组合后无限弹出的主要内容,如果未能解决你的问题,请参考以下文章

JQuery给动态添加的元素绑定事件

jquery 事件--表单事件

jquery使用on()方法绑定的事件被执行多次的问题

06 同时给多个元素绑定事件

使用jQuery中trigger()方法自动触发事件

jquery绑定事件on()方法