我有一组标签,并希望为其添加mouseover
功能。我不希望将此功能应用于.active
。
标记:
<ul>
<div class='tab'>my tab</div>
<div class='tab' data-id='1'>your tab</div>
</ul>
<script>
$('.tab').on('click',function(){
$(this).addClass('active');
});
</script>
我试过这个:
$('.tab').not('.active').on('mouseover', function(){
和
$('.tab:not(.active)').on('mouseover', function(){
但这些都不奏效。如何从此功能中排除该活动?
答案 0 :(得分:0)
一个可能的问题是我正在通过addClass添加活动以响应另一部分中的点击。上面的语法会处理这个吗?
这就是问题所在。在加载时添加mouseover
事件时,活动类不存在,因此.not()
不会排除任何内容。相反,您需要检查处理程序本身内的类。
试试这个:
$('.tab').on('mouseover', function() {
if (!$(this).hasClass("active")) {
// your code here
$(this).css("background-color", "#C00");
}
});
$(".tab:last").addClass("active");