jQuery 触发的事件序列是什么?


jQuery 事件处理程序始终按绑定的顺序执行。使用 jQuery,你还可以更改序列。我们来看看,例如,从

demo(1);
demo(2);

我们可以将序列更改为 −

demo(2);
demo(1);

示例

你可以尝试运行以下操作以了解并更改 jQuery 事件的序列 −

在线演示

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $.fn.bindFirst = function(name, fn) {

        this.on(name, fn);
        this.each(function() {
            var handlers = $._data(this, 'events')[name.split('.')[0]];
            var handler = handlers.pop();
            handlers.splice(0, 0, handler);
        });
    };

    $("div").click(function() { alert("1"); });
    $("div").click(function() { alert("2"); });
    $("div").click(function() { alert("3"); });
    $("div").click(function() { alert("4"); });  
    $("div").bindFirst('click', function() { alert("5"); });

});
</script>
</head>
<style>    
.demo {
    cursor: pointer;
    border: 3px solid #FF0000;    
}
</style>
<body>

<h1>Heading 1</h1>
<div class="demo">
Click here for sequence.<br>
The sequence will be: 5, 1, 2, 3, 4
</div>

</body>
</html>

更新于:2020 年 2 月 14 日

835 次浏览

开启你的职业

完成课程以获得认证

开始
广告