【问题标题】:Event delegation .on('click') and the css negation :not()事件委托 .on('click') 和 CSS 否定 :not()
【发布时间】:2016-03-27 18:58:37
【问题描述】:

我正在尝试为动态添加/删除的类创建事件委托。我正在为单击的特定元素创建一个事件,并且没有添加该类。

这是我的代码行,但它不起作用。我的语法错了吗?如果是这样,修复此代码的正确方法是什么?

$('.gallery-cell a img').off('click').on('click', ':not(.g-clicked)', function() { 
    // more code here 
});

【问题讨论】:

  • 您所展示的内容本身并没有错。我们需要一个更完整的 JS 和 HTML 示例才能有所帮助。
  • 好的,谢谢。我只是想确认这行代码是正确的,我可以将 :not() 放在它所在的位置。谢谢。

标签: jquery css events delegation negation


【解决方案1】:

$selector.on() 中的第二个参数是 $selector 的 decendants 的过滤器。由于img 不能有孩子,你很可能想要做这样的事情(取决于你动态添加你的类的项目):

$('.gallery-cell a').on('click', 'img:not(.g-clicked)', function() { 
    // more code here 
});

$('.gallery-cell').on('click', 'a:not(.g-clicked) img', function() { 
    // more code here 
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多