我有一个表格,它的行(
<tr>
)绑定了点击事件。这些行内有<a>
元素,它们也分别绑定了自己的点击事件。问题是,当我点击<a>
元素时,它同时触发了父级<tr>
的点击事件。我不想这样,我只希望触发<a>
的点击事件。
代码:
// 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!"); });
无论何时你点击锚点,它都会从其父行触发事件。有任何想法吗?
e.preventDefault();
,因为在事件传播方面存在一些浏览器不一致性。 - Nick Craverreturn false
和e.preventDefault()
都会阻止默认的点击行为(跳转到链接页面)发生 - 这显然不是 OP 想要的。 - Antony Hatchkins