Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery$(文档)。关于如何为动态标记链接设置stopPropagation(),请单击事件_Javascript_Jquery_Dynamic_Preventdefault_Stoppropagation - Fatal编程技术网

Javascript jQuery$(文档)。关于如何为动态标记链接设置stopPropagation(),请单击事件

Javascript jQuery$(文档)。关于如何为动态标记链接设置stopPropagation(),请单击事件,javascript,jquery,dynamic,preventdefault,stoppropagation,Javascript,Jquery,Dynamic,Preventdefault,Stoppropagation,Jquery在程序中动态创建链接。 就像 <div> ... <li><a class="page-list">aaa</a></li> ... </div> 它不工作,当我点击aaa时,它仍然运行点击事件 如何在$(文档)中停止标记链接的复制。 如果我在li标签中设置class=“page list”,它将工作 <li class="page-list"><a>aaa</a></

Jquery在程序中动态创建链接。 就像

<div>
...
<li><a class="page-list">aaa</a></li>
...
</div>
它不工作,当我点击aaa时,它仍然运行点击事件

如何在
$(文档)中停止标记链接的复制。

如果我在li标签中设置class=“page list”,它将工作

<li class="page-list"><a>aaa</a></li> 
  • aaa

  • 您的代码中有一些错误:

    首先,您不需要这样:
    var$target=$(e.target)
    ,获取目标元素应该像
    $(this)
    一样简单,其次不必执行
    $target.off
    $target.on
    为了停止事件传播,必须在回调内部执行。然后,我认为
    click
    处理程序会运行,因为您显式地调用
    click()
    (this)元素本身

    因此,如果我想在停止传播的同时做点什么,我会这样做:

    $(document).on('click', '.page-list', function(e) {
      e.stopPropagation();
      e.preventDefault();
      // ... 
      alert('Element clicked"');
      // ...
    });
    

    如果我在标签中设置class=“page list”,它会工作。
  • aaa
  • 为什么!!!!?????因为单击事件已附加到
    。页面列表
    ?因此,它只适用于具有
    页面列表
    类名的元素。是的,单击事件附加到.page列表。
    $(document).on('click', '.page-list', function(e) {
      e.stopPropagation();
      e.preventDefault();
      // ... 
      alert('Element clicked"');
      // ...
    });