我正在尝试从jquery函数中排除一个类,但我似乎无法让它正常工作。我试过.not()
,但似乎没有正常工作。
这是我的基本结构......
<div id='spotList' class='clickableSpot id_117 '>
<div id='leftCheckboxBar'>
<form id='checkboxForm' name='checkboxForm'>
<input type='checkbox' class='spotCheck' unchecked id='117'/>
</form>
</div><!--end leftcheckboxbar-->
<div id='leftCredits'>
<ul class='credits'>
<li id='agencyItem'>Agency: <span class='creditText searchAgency'>Y&R</span></li>
</ul>
</div><!--end leftcredits-->
</div><!--END SPOT LIST-->
现在我有一个jQuery函数,您可以直接点击.spotList
复选框或.spotList
div。它看起来像这样,并且它正常工作......
$('.spotCheck, .clickableSpot').click(function(){
/*do stuff*/
});
我不希望跨度.creditText
包含在该选择器中。我似乎无法弄明白。我必须有一种方法可以排除点击该范围并触发该功能。但我需要div中的其他所有东西都是可点击的,而不是跨越那段文本。
有什么想法吗?
答案 0 :(得分:4)
您可以使用target
对象的event
属性:
$('.spotCheck, .clickableSpot').click(function(event){
if (!$(event.target).hasClass('creditText')) {
// do something here
}
});
您还可以使用stopPropagation
方法:
$('.creditText').click(function(event){
event.stopPropagation()
})