之前碰到同一个元素绑定不同事件的顺序,这个比较好测试。
最近碰到一个,一个input元素,绑定两个keyup事件的执行顺序问题。
其中一个是工具js绑定的,这个要先执行,另外需要自己顶一个一个keyup事件,用的是$("#id").on("keyup")来绑定的。工具js中用的是$("input[name='xxx']").on("keyup")。
执行顺序不固定,如果从链接进入页面,会先执行自己的keyup,再刷新一下页面,就会先执行另一个keyup。
执行顺序这个应该和堆栈有关,那也就是和加载事件的顺序有关了。
没有时间考虑为什么不同方式进入页面,keyup顺序不一样,直接用另一种办法,自己的keyup在父节点就截取事件,用delegate,这样,加载事件先加载父节点的事件,而后执行。
亲测可行!
可特么到底为什么最一开始的时候,加载事件顺序会有问题呢?