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>