我有一个包含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中取出但我不想要那个; - )
答案 0 :(得分:4)
<强>已更新强>
如果可以的话,使用jQuery 1.7使用.on
进行事件委派,并停止传播的锚点击次数:
$(document).on("click","a.test", function(e) {
e.stopImmediatePropagation();
});
$(document).on("click","div.item", function(e) {
// whatever
});
否则请使用.delegate
代替.live
:
$(document).delegate("a.test", "click", function(e) {
e.stopPropagation();
});
$(document).delegate("div.item", "click", function(e) {
//whatever
});