【发布时间】:2017-06-14 08:11:27
【问题描述】:
Jquery 在程序中动态创建链接。 就像
<div>
...
<li><a class="page-list">aaa</a></li>
...
</div>
我们已经在 Jquery lib 中定义了点击函数。
现在我想在 mousedown 中为这个点击事件做 stopPropagation。
$(document).ready( function() {
$(document).on('mousedown', '.page-list', function(e){
var $target = $(e.target);
$target.off('click', stopClickEvent);
if (window.confirm('Will run click event?')) {
$(this).click();
}
$target.on('click', stopClickEvent);
});
});
function stopClickEvent(e){
e.stopPropagation();
e.preventDefault();
}
不起作用,当我点击aaa时,它仍然运行点击事件。
如何停止$(document).on 中标签链接的传播?
如果我在 li 标签中设置 class="page-list" ,它将起作用。
<li class="page-list"><a>aaa</a></li>
【问题讨论】:
-
如果我在
- 标签中设置 class="page-list",它会起作用。
- aaa
为什么!!!!????? -
因为点击事件附加到
.page-list?所以它只适用于具有page-list类名的元素。 -
是的,点击事件附加到.page-list。
标签: javascript jquery dynamic preventdefault stoppropagation