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

donghongbz 2020-03-04

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

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

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

"一个萝卜一个坑。"

相关推荐