我在body标签中有以下标记,并在我的脚本加载之前:
<ul class="wizard-menu">
<li class="top">
<div class="top-category custom-select">Select Category</div>
<ul class="menu-main" style="display: none;">
<li id="top-2" class="menu-expense"><a href="#" id="category-2" class="wizard-category-name">Menu Item</a></li>
</ul>
</li>
</ul>
在页面加载时,以下工作并打印到控制台:
$(function() {
$(".wizard-category-name").click(function() {
console.log("Non-Delegated");
});
});
但这不是:
$(function() {
$("body").on("click", ".wizard-category-name", function() {
console.log("Delegated");
});
});
我在我的代码中使用这样的代表,但只有这一个是破坏的,这让我认为这是一种愚蠢的......任何想法?
答案 0 :(得分:0)
如果没有触发委托事件,则很可能另一个事件正在停止委托事件所依赖的传播。在您尝试跟踪事件的元素的祖先元素中查找event.stopPropagation
和/或return false
。