触发jQuery事件的顺序是什么?
jQuery事件处理程序始终按照绑定的顺序执行。使用jQuery,您还可以更改顺序。让我们看看例如
demo(1); demo(2);
我们可以将序列更改为-
demo(2); demo(1);
示例
您可以尝试运行以下内容来学习和更改jQuery事件的顺序-
<!DOCTYPE html>
<html>
<head>
<script src="https://cdn.staticfile.org/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>