ozs*_*gal 15 jquery events click
我有一个表,其中点击事件绑定到其行(<tr>).<a>这些行中有一些元素,它们分配了自己的点击事件.
问题是,当我点击<a> 元素时,它还会触发来自父元素的click事件<tr>.我不想要这种行为; 我只是想<a>点击click事件.
码:
// Event row TR
$("tr:not(:first)").click(function() {
$(".window, .backFundo, .close").remove();
var position = $(this).offset().top;
position = position < 0 ? 20 : position;
$("body").append( $("<div></div>").addClass("backFundo") );
$("body").append( $("<div></div>").addClass("window")
.html("<span class=close><img src=Images/close.png id=fechar /></span>")
.append( "<span class=titulo>O que deseja fazer?</span>"
+"<span class=crud><a href=# id=edit>Editar</a></span>"
+"<span class=crud><a href=# id=delete codigo="
+ $(this).children("td:first").html()
+ ">Excluir</a></span>" )
.css({top:"20px"})
.fadeIn("slow") );
$(document).scrollTop(0);
});
// <A> Element event
$("a").live("click",function() { alert("clicked!"); });
Run Code Online (Sandbox Code Playgroud)
每当您单击锚点时,它都会从其父行触发事件.有任何想法吗?
rah*_*hul 26
你必须停止事件冒泡.在jQuery中你可以做到这一点
e.stopPropagation();
Run Code Online (Sandbox Code Playgroud)
在锚标签的onclick事件中.
$("a").live("click",function(e){alert("clicked!");e.stopPropagation();});
Run Code Online (Sandbox Code Playgroud)
编辑
看这篇文章
jquery Event.stopPropagation()似乎不起作用