try 弄清楚如何将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(){});

Is there a way to accomplish this? Or what is the best practice here? I tried the code below, but no dice.

$("table.planning_grid").on('td',{
   mouseenter: function(){ /* event1 */ }, 
   mouseleave: function(){ /* event2 */ },
   click: function(){  /* event3 */ }
 });

Thanks in advance!

推荐答案

那是the other way around.你应该写:

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

Jquery相关问答推荐

jQuery在localStorage时将类添加到正文

如何在 Angular 4 中使用 jQuery 插件?

从数组中删除第一个元素并返回减去第一个元素的数组

jquery 3.0 url.indexOf 错误

如何在 Slick 轮播项目之间添加空格

使用 Webpack 将 jQuery 公开给真实的 Window 对象

粘性侧边栏:向下滚动时固定在底部,向上滚动时固定在顶部

删除索引后的所有项目

lodash debounce 在匿名函数中不起作用

你能在不影响历史的情况下使用哈希导航吗?

通过单击按钮获取表格行的内容

将图像 url 转换为 Base64

在 jQuery 中构建 html 元素的最清晰方法

重置 select2 值并显示占位符

jQuery Keypress 箭头键

jQuery - 使用发布数据重定向

为什么这个 jQuery 点击功能不起作用?

如何为基本身份验证发送正确的授权标头

单击时平滑滚动到特定的 div

jQuery $.cookie 不是一个函数