是什么让jQuery事件委托不起作用?

时间:2013-07-30 14:57:06

标签: jquery

我在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");
 });
});

我在我的代码中使用这样的代表,但只有这一个是破坏的,这让我认为这是一种愚蠢的......任何想法?

1 个答案:

答案 0 :(得分:0)

如果没有触发委托事件,则很可能另一个事件正在停止委托事件所依赖的传播。在您尝试跟踪事件的元素的祖先元素中查找event.stopPropagation和/或return false