事件委托 .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
});
我正在尝试为动态 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
});