使用$ .get()时,jQuery停止冒泡点击事件

时间:2010-08-04 01:19:55

标签: jquery click event-propagation

我已经为一个按钮分配了一个click事件,该按钮检索不同的HTML片段并使用.html(string)方法将其注入DIV元素。

$('#btnClose').click(function(){ 
   $.get('Content.html',function(data) {
      $('#EditCategory').html(data); 
   }); 
});

Content.html页面如下:

<button id="btnNewCategory" type="button">Add new category</button>
<script type="text/javascript">
   $('#btnNewCategory').click(alert('Test'));
</script>

每次单击“#btnClose”按钮时,都会显示HTML snipper内容,但也会触发警报(“Test”)。我试过stopPropagation(),preventDefault()并返回false;并没有快乐。谁能说清楚我做错了什么?

1 个答案:

答案 0 :(得分:1)

您的处理程序应该是这样的:

$('#btnNewCategory').click(function() {
  alert('Test')
});

您目前拥有的是立即触发alert('Test') 并尝试将结果分配给点击处理程序,如果您希望它在点击时运行,请使用我上面的匿名函数

这不是传播问题read here for a better understanding of that,而是绑定问题:)