2

我有一个包含 href 的 div。div 有一个 jQuery 实时点击事件:

$(".item").live("click", function() { 
    window.location = this.id;  
});

在 div 我有一个 href:

<div class="item" id="/test.html">
    <a href="javascript:void(0);" class="test" id="123">link</a>
</div>

还有一个实时点击事件:

$(".test").live("click", function() { 
    $(".item").unbind('click');
    alert(this.id);
});

我试图实现的是单击 div 加载 div id 作为位置,同时单击 div 内的链接在防止 div 单击行为的同时执行它自己的事情。

我知道我可以将 href 从 div 中取出,但我不希望这样做 ;-)

4

1 回答 1

4

更新

如果可以,请使用 jQuery 1.7 进行事件委托,.on并停止传播锚点击:

$(document).on("click","a.test", function(e) { 
    e.stopImmediatePropagation();
});

$(document).on("click","div.item", function(e) { 
    // whatever
});

http://jsfiddle.net/AuHjA/3/

否则使用.delegate代替.live

$(document).delegate("a.test", "click", function(e) { 
    e.stopPropagation();
});

$(document).delegate("div.item", "click", function(e) { 
    //whatever
});

http://jsfiddle.net/mblase75/AuHjA/4/

于 2011-11-14T14:26:32.073 回答