У меня есть таблица с событиями щелчка, связанными с его строками (<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!"); });
Каждый раз, когда Вы нажимаете привязку, она запускает событие из него родительская строка. Какие-либо идеи?
Вы должны остановить всплытие событий. В jQuery это можно сделать с помощью
e.stopPropagation();
в событии onclick тега привязки.
$("a").live("click",function(e){alert("clicked!");e.stopPropagation();});
Изменить
См. Этот пост