Распространение события щелчка jQuery

У меня есть таблица с событиями щелчка, связанными с его строками (<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!"); });

Каждый раз, когда Вы нажимаете привязку, она запускает событие из него родительская строка. Какие-либо идеи?

15
задан DACrosby 8 May 2014 в 05:46
поделиться

1 ответ

Вы должны остановить всплытие событий. В jQuery это можно сделать с помощью

e.stopPropagation();

в событии onclick тега привязки.

$("a").live("click",function(e){alert("clicked!");e.stopPropagation();});

Изменить

См. Этот пост

jquery Event.stopPropagation () кажется не работает

26
ответ дан 1 December 2019 в 02:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: