Javascript jQuery$(文档)。关于如何为动态标记链接设置stopPropagation(),请单击事件
Jquery在程序中动态创建链接。 就像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></
<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”,它会工作。
。页面列表
?因此,它只适用于具有页面列表
类名的元素。是的,单击事件附加到.page列表。
$(document).on('click', '.page-list', function(e) {
e.stopPropagation();
e.preventDefault();
// ...
alert('Element clicked"');
// ...
});