事件委托 .on('click') 和 css 否定 :not()

Event delegation .on('click') and the css negation :not()

我正在尝试为动态 added/removed class 创建事件委托。我正在为被点击的特定元素创建一个事件,但没有添加 class。

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

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

$selector.on() 中的第二个参数是 $selector 的 后代 的过滤器。由于 img 不能有 children,您很可能想做这样的事情(取决于您动态添加的项目 class):

$('.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 
});