Jquery 不是父元素内的选择器

Jquery 不是父元素内的选择器,jquery,checkbox,Jquery,Checkbox,如果单击了.overtitle,我需要控制台.log,但不包括其中的复选框。如果选中复选框,我只需要选中/取消选中它,而不需要console.log 这是我试过的,但不起作用。单击复选框将激发console.log $('.overtitle')。不是('.checkpart')。单击(函数(){ console.log('323'); }); 横幅 有几种方法可以做到这一点 首先,您可以使用e.target属性检查实际单击的元素: $('.overtitle')。单击(函数(e){ if

如果单击了
.overtitle
,我需要
控制台.log
,但不包括其中的复选框。如果选中复选框,我只需要选中/取消选中它,而不需要
console.log

这是我试过的,但不起作用。单击复选框将激发
console.log

$('.overtitle')。不是('.checkpart')。单击(函数(){
console.log('323');
});

横幅

有几种方法可以做到这一点

首先,您可以使用
e.target
属性检查实际单击的元素:

$('.overtitle')。单击(函数(e){
if(!$(e.target).is('.checkpart')){
console.log('323');
}
});

横幅

有几种方法可以做到这一点

首先,您可以使用
e.target
属性检查实际单击的元素:

$('.overtitle')。单击(函数(e){
if(!$(e.target).is('.checkpart')){
console.log('323');
}
});

横幅

使用方法防止事件冒泡到复选框的DOM树

$('.overtitle')。单击(函数(){
console.log('323');
}).find('.checkpart')。单击(函数(e){
e、 停止传播();
});


横幅
使用方法防止事件冒泡到复选框的DOM树

$('.overtitle')。单击(函数(){
console.log('323');
}).find('.checkpart')。单击(函数(e){
e、 停止传播();
});


横幅
如果单击复选框,则始终会单击
.overtitle
。一种解决方案是在click事件内部检查
event.target

$('.overtitle')。单击(函数(事件){
if(event.target.className=='checkpart'){
回来
}
console.log('323');
});


横幅
如果单击复选框,则始终会单击
.overtitle
。一种解决方案是在click事件内部检查
event.target

$('.overtitle')。单击(函数(事件){
if(event.target.className=='checkpart'){
回来
}
console.log('323');
});


横幅
您必须为每种类型编写两个单独的事件处理程序

$(document).on('click','.overtitle',function(e) {
    console.log('323');
});

$(document).on('click','.checkpart',function(e) {
    e.stopPropagation();
});

stopPropagation()
阻止执行该元素的父元素的任何事件处理程序

您必须为每个类似元素编写两个单独的事件处理程序

$(document).on('click','.overtitle',function(e) {
    console.log('323');
});

$(document).on('click','.checkpart',function(e) {
    e.stopPropagation();
});

stopPropagation()
阻止执行该元素的父元素的任何事件处理程序。非常感谢,问题解决了。谢谢。