Javascript 用于鼠标事件jquery的多个函数
我正在开发jQuery插件。为了分离我的逻辑,我做了如下操作:Javascript 用于鼠标事件jquery的多个函数,javascript,jquery,mouseevent,Javascript,Jquery,Mouseevent,我正在开发jQuery插件。为了分离我的逻辑,我做了如下操作: $element.on({ mouseenter: function(){ //do something special }, mouseleave: function(){ //do something else special } }); //more stuffs 然后在这上面,我再做一次,但是用其他的函数体 $element.on({ mouseenter: func
$element.on({
mouseenter: function(){
//do something special
}, mouseleave: function(){
//do something else special
}
});
//more stuffs
然后在这上面,我再做一次,但是用其他的函数体
$element.on({
mouseenter: function(){
//do something not special
}, mouseleave: function(){
//do something else not special
}
});
jQuery如何处理这个问题?鼠标事件的第二次声明是否会覆盖第一次声明?有时我看到这两种方法都有效,但有时不行
鼠标事件的第二次声明是否会覆盖第一次声明
没有
jQuery如何处理这个问题
它按照事件处理程序的附加顺序执行事件处理程序。从(页面下方约40%)开始:
绑定到元素的事件处理程序的调用顺序与绑定它们的顺序相同
例如,如果您有:
var div = $("#someDiv");
div.on("click", function() { console.log("one"); });
div.on("click", function() { console.log("two"); });
div.on("click", function() { console.log("three"); });
$("#someDiv").on("click", function() { console.log("one"); });
$(document.body).children().first().on("click", function() { console.log("two"); });
$("div").on("click", function() { console.log("three"); });
…然后单击div将显示
one
two
three
单击div,您将获得
one
two
three
一
二
三
…在控制台中。它将添加这两个事件。这意味着您将有两个
mouseenter
事件触发和两个mouseleave
是否存在执行第一个和第二个事件的条件。如果没有,那么您可以将两者合并到一个事件处理程序中。因此,做一些特殊的事情
和做一些不特殊的事情
将同时执行?@George02:除非使用。只有一个主UI JavaScript线程。