为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕容森 2019-11-05 16:00:30
试图弄清楚如何将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 */ } });提前致谢!
查看完整描述

3 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

那是另一回事。您应该写:


$("table.planning_grid").on({

    mouseenter: function() {

        // Handle mouseenter...

    },

    mouseleave: function() {

        // Handle mouseleave...

    },

    click: function() {

        // Handle click...

    }

}, "td");


查看完整回答
反对 回复 2019-11-05
?
largeQ

TA贡献2039条经验 获得超7个赞

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


$('table.planning_grid').on('mouseenter mouseleave', function() {

    //JS Code

});


查看完整回答
反对 回复 2019-11-05
?
GCT1015

TA贡献1827条经验 获得超4个赞

从这里我学到了一些真正有用和基本的东西。


链接功能,在这种情况下,其中大多数jQuery的功能,包括工作原理是非常有用的功能输出过。


之所以可以使用它,是因为大多数jQuery函数的输出都是输入对象集,因此您可以立即使用它们,使其更短,更智能


function showPhotos() {

    $(this).find("span").slideToggle();

}


$(".photos")

    .on("mouseenter", "li", showPhotos)

    .on("mouseleave", "li", showPhotos);


查看完整回答
反对 回复 2019-11-05
  • 3 回答
  • 0 关注
  • 425 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信