0

我有这种情况:http: //jsfiddle.net/Lm7ac/4/

$(".more").hide();

$(document).on("click", ".btn",function() { 
            alert("hello");     
});   

$(document).on("click", "div.post",function() {
     var morediv = $(this).find(".more");

     morediv.slideToggle('fast');
});

单击“.btn”时,我需要保持“.more”关闭(或打开)。

我怎样才能做到这一点?

谢谢

4

2 回答 2

3

使用event.stopPropagation()

$(document).on("click", ".btn",function(event) {
    event.stopPropagation();    
    alert("hello");     
}); 

...注意event回调的参数,确保如上所述包含它。

http://jsfiddle.net/KJ5Uv/

干杯

于 2012-12-08T00:18:41.630 回答
2

return false.btn单击事件处理程序的末尾。

$(document).on("click", ".btn",function() { 
            alert("hello");     
    return false;
});  

当您return false在 jQuery 事件处理程序中时,它就像同时调用event.preventDefault()一样event.stopPropagation()

这是一个演示:http: //jsfiddle.net/Lm7ac/5/

文档event.preventDefault()http ://api.jquery.com/event.preventDefault/

文档event.stopPropagation()http ://api.jquery.com/event.stopPropagation/

于 2012-12-08T00:18:33.680 回答