div如果用户点击其中的链接,我已经删除了我想忽略的点击回调div.该函数如下所示:
$(".section").click(function(){
if ($(this).hasClass("solid")) {
$(this).removeClass("solid");
$(this).hover(fadeFunction, darkenFunction);
$(this).fadeTo(150, inactiveOpacity);
}
else {
$(this).addClass("solid");
$(this).unbind("mouseenter");
$(this).unbind("mouseleave");
$(this).fadeTo(25, inactiveOpacity);
$(this).fadeTo(150, activeOpacity);
}
});
Run Code Online (Sandbox Code Playgroud)
我已经尝试将if/else包装在一个if(!$(this).is("a)) {但是行为没有变化.有人能指出我误解或做错了什么吗?
很抱歉,如果这是一个简单的问题,我是一个JQuery/css初学者.
Nic*_*ver 13
您可以检查事件目标是否为锚点,如下所示:
$(".section").click(function(e){
if($(e.target).is("a")) return;
if ($(this).hasClass("solid")) {
$(this).removeClass("solid");
.hover(fadeFunction, darkenFunction);
.fadeTo(150, inactiveOpacity);
}
else {
$(this).addClass("solid");
.unbind("mouseenter mouseleave");
.fadeTo(25, inactiveOpacity);
.fadeTo(150, activeOpacity);
}
});
Run Code Online (Sandbox Code Playgroud)
试试这个:
$('a').click(function(e) {
e.stopPropagation();
});
Run Code Online (Sandbox Code Playgroud)
在这里您可以找到文档:http://api.jquery.com/event.stopPropagation/
| 归档时间: |
|
| 查看次数: |
5225 次 |
| 最近记录: |