jQuery on()语法

jQuery on()语法,jquery,syntax,Jquery,Syntax,我有一个新手语法问题,下面是我的代码: $('.selector').on({ mouseenter: function() { // ... }, mouseleave: function() { // ... } }); 现在,如果我想将mouseenter和touchstart事件绑定到同一个函数,该怎么办?我知道我能做到: $('.selector').on('mouseenter touchstart', function(){ // ... })

我有一个新手语法问题,下面是我的代码:

$('.selector').on({
  mouseenter: function() {
    // ...
  },
  mouseleave: function() {
    // ...
  }
});
现在,如果我想将mouseenter和touchstart事件绑定到同一个函数,该怎么办?我知道我能做到:

$('.selector').on('mouseenter touchstart', function(){
  // ...
});
但是我喜欢我第一个例子的外观。(我认为在我的例子中唯一不同的是syntaxt,这是对的吗?)还有人知道我在哪里可以找到这些东西吗?jQueryAPI只显示了一种编写东西的方式。

试试这种方式

 $('.selector').on({
       mouseenter : move,
       touchstart : move
   });

    function move(){

    }
如果要为这两个事件定义不同的功能,请使用此方法

如果两者的功能相同,那么您的代码应该可以工作。

这样试试

 $('.selector').on({
       mouseenter : move,
       touchstart : move
   });

    function move(){

    }
如果要为这两个事件定义不同的功能,请使用此方法


如果两个事件的功能相同,那么代码应该可以工作。

如果两个事件绑定到同一个函数,那么将它们绑定到同一个函数

如果您创建两个具有相同实体的匿名函数,您将使用比需要更多的内存,因为您实际上创建了两个单独的函数

从这个意义上讲,您的两个示例在语义上并不完全相同

或者,在外部声明回调函数一次(即不作为匿名函数),并使用第一种语法:

var cb = function(ev) { ... }

$(el).on({
    mouseenter: cb,
    touchstart: cb
});

如果两个事件绑定到同一个函数,则将它们绑定到同一个函数

如果您创建两个具有相同实体的匿名函数,您将使用比需要更多的内存,因为您实际上创建了两个单独的函数

从这个意义上讲,您的两个示例在语义上并不完全相同

或者,在外部声明回调函数一次(即不作为匿名函数),并使用第一种语法:

var cb = function(ev) { ... }

$(el).on({
    mouseenter: cb,
    touchstart: cb
});

OP意识到了这一点,并询问是否有方法使用第一个语法绑定到同一个函数。刚刚刷新,我现在看到了。OP意识到了这一点,并询问是否有方法使用第一个语法绑定到同一个函数。刚刚刷新,我现在看到了。或者只是
mouseenter:move
-不需要额外的
function()
块。或者只是
mouseenter:move
-不需要额外的
function()
块。