原生js事件和jquery事件的执行顺序问题

    场景:近日,写前端页面时候,在针对输入框input操作时,用到了jquery的插件,插件中使用了jquery的focus()和blur()方法。但是同时,又需要在插件之外再针对输入框的获取焦点和失去焦点进行一些一些逻辑操作。

     

    思路一:改写插件,使用回调函数或初始化函数。

          原来的插件并没有使用回调函数或初始化函数。可以改写插件,增加回调函数或初始化函数,视情况,在原来逻辑执行之前或之后先执行逻辑操作。

    思路二:使用原生js事件。

          开始的时候并没有这个思路,但是由于原生js事件函数onfocus()和onblur()已经写出来了。于是运行试试。惊奇的发现,实际运行起来后,并没有和jquery发生冲突。通过console.log()记录日志发现,原生的js事件onfocus()在jquery的focus()之前执行。同时测试了,onclick()和onblur()事件,也都是在jquery的click()和blur()事件之前执行。

    由于思路二的方法较为简易,不用改写插件。所以,最后采用了思路二的方法。
 

原文地址:https://www.cnblogs.com/Andres/p/6225204.html