具有多个事件处理程序的jQuery.on()方法到一个选择器

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (50)

试图找出如何将jQuery.on()方法与具有多个事件关联的特定选择器一起使用。我以前使用过.live()方法,但不太确定如何使用.on()完成同样的操作。我的代码如下:

$("table.planning_grid td").live({
  mouseenter:function(){
     $(this).parent("tr").find("a.delete").show();
  },
  mouseleave:function(){
     $(this).parent("tr").find("a.delete").hide();        
  },
  click:function(){
    //do something else.
  }
});

我知道我可以通过调用:

 $("table.planning_grid td").on({
    mouseenter:function(){  //see above
    },
    mouseleave:function(){ //see above
    }
    click:function(){ //etc
    }
  });

但我相信.on()的正确使用应该是这样的:

   $("table.planning_grid").on('mouseenter','td',function(){});

有什么办法可以做到这一点吗?或者这里的最佳做法是什么?我试过下面的代码,但没有工作。

$("table.planning_grid").on('td',{
   mouseenter: function(){ /* event1 */ }, 
   mouseleave: function(){ /* event2 */ },
   click: function(){  /* event3 */ }
 });
提问于
用户回答回答于

你应该写:

$("table.planning_grid").on({
    mouseenter: function() {
        // Handle mouseenter...
    },
    mouseleave: function() {
        // Handle mouseleave...
    },
    click: function() {
        // Handle click...
    }
}, "td");
用户回答回答于

此外,如果将多个事件处理程序附加到同一个选择器上,执行相同的函数,则可以使用

$('table.planning_grid').on('mouseenter mouseleave', function() {
    //JS Code
});

所属标签

可能回答问题的人

  • 天使的炫翼

    17 粉丝531 提问5 回答
  • 找虫虫

    0 粉丝0 提问5 回答
  • 人生的旅途

    10 粉丝484 提问4 回答
  • 骑牛看晨曦

    4 粉丝522 提问4 回答

扫码关注云+社区

领取腾讯云代金券