如何在jquery中停止事件传播?

sil*_*mer 6 ajax jquery

$("div#foobar").live('click', function() {  

});

$(window).hashchange(function() {   

});
Run Code Online (Sandbox Code Playgroud)

hashchange如果click事件发生,我怎么能停止射击事件.

注意 关于click事件我正在触发ajax并更改哈希...而在hashchange上我正在做一些事情.由于Click事件也会更改哈希,因此会发生火灾.所以,我希望每当click事件触发hashchange时都不应该触发..

Adr*_*uez 10

停止传播并防止默认行为.

$("div#foobar").live('click', function(event) {  
    event.stopPropagation();
    event.preventDefault()
});
Run Code Online (Sandbox Code Playgroud)


Pee*_*Haa 0

(function() {

    var fire_hashchange = true;

    $("div#foobar").live('click', function() {  
        fire_hashchange = false;
        // do stuff
    });

    $(window).hashchange(function() {   
        if (!fire_hashchange) {
            fire_hashchange = true;
            return;
        }
        // do stuff
    });
})();
Run Code Online (Sandbox Code Playgroud)