1

我使用了一个 jQuery 插件,并单独编写了我自己的 jQuery,它在 dom 就绪时进行了初始化。如果插件和我的代码都对事件做了一些事情(比如点击了一个 div),我怎么知道哪个代码首先运行?

另外,有没有办法指定我想先运行哪个代码?谢谢

4

2 回答 2

0

API 说Event handlers bound to an element are called in the same order that they were bound. http://api.jquery.com/on/

于 2012-04-27T09:59:29.170 回答
0

是的,您可以通过在事件处理程序数组上使用诸如popunshift"push""shift"之类的一些方法来覆盖事件处理程序的顺序......

例如,根据@roasted answer >> 将最后一个事件处理程序移至列表顶部:

var myH = $._data( $(".myclass")[0], "events" ).click.pop();
$._data( $(".myclass")[0], "events" ).click.unshift(myH);

console.log($._data( $(".myclass")[0], "events" ).click);

我建议您访问这个问题,它就是答案

于 2013-05-04T20:27:17.947 回答