我正在尝试阻止一些事件,但是stopPropagation在“live”上不起作用,所以我不确定该怎么办。我在他们的网站上找到了这个。
Live事件不会像传统方式那样冒泡,并且无法使用stopPropagation或stopImmediatePropagation停止。例如,考虑两个click事件——一个绑定到“li”,另一个绑定到“li a”。如果发生单击事件,则将触发两个事件。这是因为当$(“li”).bind(“click”,fn);绑定时实际上是在说“每当单击事件发生在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对话框。
现在,实时代码(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>