我试图停止一些事件,但 stopPropagation 不适用于“live”,所以我不知道该怎么做。我在他们的网站上找到了这个。
实时事件不会以传统方式冒泡,并且无法使用 stopPropagation 或 stopImmediatePropagation 停止。例如,以两个点击事件为例——一个绑定到“li”,另一个绑定到“li a”。如果在内部锚点上发生点击,则将触发两个事件。这是因为当 $("li").bind("click", fn); 绑定您实际上是在说“每当 LI 元素上或 LI 元素内发生单击事件时,都会触发此单击事件。” 要停止对直播事件的进一步处理,fn 必须返回 false
它说 fn 必须返回 false 所以我试图做的
$('.MoreAppointments').live('click', function(e) {
alert("Hi");
return false;
});
但这不起作用,所以我不知道如何让它返回 false。
更新
这里有更多信息。
我有一个表格单元格,并将点击事件绑定到它。
$('#CalendarBody .DateBox').click(function(e)
{
AddApointment(this);
});
所以 AddApointment 只是制作了一些 ui 对话框。
现在实时代码(MoreAppointments)位于这个表格单元格中,基本上是一个锚标签。因此,当我单击锚标记时,它首先转到上面的代码(addApointment - 所以首先运行该事件)运行该代码,但不启动我的对话框,而是直接转到(MoreAppointment)事件并运行该代码。该代码运行后,它会从“addApointment”启动对话框。
更新 2
这是一些html。我没有复制整个表格,因为它有点大,而且所有的单元格都用相同的数据重复。如果需要我会发布它。
<td id="c_12012009" class="DateBox">
<div class="DateLabel">
1</div>
<div class="appointmentContainer">
<a class="appointments">Fkafkafk fakfka kf414<br />
</a><a class="appointments">Fkafkafk fakfka kf414<br />
</a><a class="appointments">Fkafkafk fakfka kf414<br />
</a><a class="appointments">Fkafkafk fakfka kf414<br />
</a><a class="appointments">Fkafkafk fakfka kf414<br />
</a>
</div>
<div class="appointmentOverflowContainer">
<div>
<a class="MoreAppointments">+1 More</a></div>
</div>
</td>