【问题标题】:Jquery click event propagationjQuery点击事件传播
【发布时间】:2011-01-15 16:54:00
【问题描述】:

我有一个表格,其中的点击事件绑定到它的行 (<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 events click


    【解决方案1】:

    对于&lt;tr&gt;&lt;a&gt; 以及以下代码,我会使用bind 而不是live

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

    &lt;a&gt;

    所有&lt;a href&gt; 将按预期工作,&lt;tr&gt; 事件处理程序代码在单击&lt;a&gt; 后不会执行。

    适用于所有现代浏览器。

    【讨论】:

      【解决方案2】:

      您必须停止事件冒泡。在 jQuery 中,你可以通过

      e.stopPropagation();
      

      在锚标签的onclick事件中。

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

      编辑

      看这篇文章

      jquery Event.stopPropagation() seems not to work

      【讨论】:

      • 我有一个普通的表。然后我以编程方式创建新的锚元素,并附加到该行。
      • 尝试在锚事件处理程序结束时返回 false。
      • 在其中添加一个e.preventDefault(); 以作为良好的措施,传播预防之间存在一些浏览器不一致。
      • return falsee.preventDefault() 将阻止默认点击操作(转到链接页面)发生 - 这显然不是 OP 想要的
      猜你喜欢
      • 2011-03-19
      • 1970-01-01
      • 1970-01-01
      • 2020-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-14
      相关资源
      最近更新 更多