如何使用jQuery的live方法停止事件冒泡?
如何使用jQuery的live方法停止事件冒泡?
我正在尝试阻止一些事件,但是使用"live"时stopPropagation不起作用,所以我不确定该怎么办。我在他们的网站上找到了这个。
live事件无法像传统方式那样冒泡,并且无法使用stopPropagation或stopImmediatePropagation进行停止。例如,考虑两个点击事件-一个绑定到"li",另一个绑定到"li a"。如果在内部的锚点上发生点击,两个事件都会被触发。这是因为当绑定了$("li").bind("click", fn);时,实际上是在说"每当在LI元素上或在LI元素内发生点击事件时,触发此点击事件"。为了停止live事件的进一步处理,fn必须返回false。
它说fn必须返回false,所以我尝试了以下操作
$('.MoreAppointments').live('click', function(e) { alert("Hi"); return false; });
但是这没起作用,所以我不知道如何使其返回false。
更新
这里有更多的信息。
我有一个表格单元格,并给它绑定了一个点击事件。
$('#CalendarBody .DateBox').click(function(e) { AddApointment(this); });
所以AddApointment只是生成一些UI对话框。
现在,live代码(MoreAppointments)位于这个表格单元格中,基本上是一个锚点标签。所以当我点击锚点标签时,它首先进入上面的代码(addApointment-因此先运行该事件),但不会启动我的对话框,而是直接进入(MoreAppointment)事件并运行该代码。一旦该代码运行完毕,它会从"addApointment"中启动对话框。
更新2
这里是一些HTML代码。我没有复制整个表格,因为它有点大,而且所有的单元格都是重复的相同数据。如果需要,我可以贴出来。
1 Fkafkafk fakfka kf414 Fkafkafk fakfka kf414 Fkafkafk fakfka kf414 Fkafkafk fakfka kf414 Fkafkafk fakfka kf414 +1 More