作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图从 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 中的其他所有内容都可以点击,而不是 span 中的那段文本。
有什么想法吗?
最佳答案
您可以使用 event
对象的 target
属性:
$('.spotCheck, .clickableSpot').click(function(event){
if (!$(event.target).hasClass('creditText')) {
// do something here
}
});
你也可以使用 stopPropagation
方法:
$('.creditText').click(function(event){
event.stopPropagation()
})
关于javascript - 从双重选择器中排除一个类的麻烦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12978478/
我是一名优秀的程序员,十分优秀!