Javascript 用于鼠标事件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

我正在开发jQuery插件。为了分离我的逻辑,我做了如下操作:

$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线程。