一部のイベントを停止しようとしていますが、stopPropagationが「ライブ」で機能しないため、どうすればよいかわかりません。私は彼らのサイトでこれを見つけました。
ライブイベントは従来の方法ではバブルせず、stopPropagationまたはstopImmediatePropagationを使用して停止することはできません。たとえば、2つのクリックイベントの場合を考えてみましょう。1つは「li」にバインドされ、もう1つは「lia」にバインドされます。内側のアンカーをクリックすると、両方のイベントがトリガーされます。これは、$( "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>