我的元素上的哪个jQuery附加事件首先触发?

Dan*_*don 2 javascript jquery events event-handling

假设我的网页上有一个按钮:

<input type='button' id='myButton' value='Click me!' />
Run Code Online (Sandbox Code Playgroud)

假设我编写了以下jQuery:

$(document).ready(function() {
    var button = $('#myButton');
    button.click(doThis);
    button.click(doThat);
}

function doThis() {
    // do something
}

function doThat() {
    //do something else
}
Run Code Online (Sandbox Code Playgroud)

单击该按钮时,如何知道应首先执行哪个功能?还是取决于我无法控制的事情?

Fel*_*ing 9

处理程序按照它们附加到元素的顺序执行(请参阅文档):

如果注册了多个处理程序,它们将始终按照绑定的顺序执行.

所以你的情况,第一doThis,然后doThat将被执行.

注意:这仅适用于jQuery.有关纯DOM事件处理程序的信息,请参阅@ StuperUser的答案.

有关JavaScript中事件处理的一般信息,我可以在quirksmode.org上推荐这些文章.