テーブル行にバインドされたクリック イベントから jquery.fancybox リンクを呼び出しています。アクションは最初は正常に動作しますが、fancybox を閉じて任意の行をもう一度クリックすると、その行にバインドされた無名関数は引き続き起動しますが、fancybox は起動しません。私が使用しているJavaScriptは次のとおりです。
$jq(document).ready(function() {
$jq('a.edit').fancybox({
'overlayShow': true,
'hideOnContentClick': false
});
$jq('tr').click(function() {
alert("clicked");
$jq(this).find('a.edit').trigger("click");
});
});
したがって、HTML には「編集」として分類されたアンカーがあります。
<tr>
<td>...</td>
<td>
<a href="/candidates/22/qualifications/16/edit" class="edit">edit</a>
</td>
</tr>
アラート ボックスは常に表示され、トリガー/クリック() 呼び出しを remove() に変更すると、「機能」し、複数の場合にアンカーが削除されます。$('.edit') リンク自体を手動で繰り返しクリックすることもできますが、すべて問題ありません。
では、アンカー クリック イベントが、行クリック イベントから順番に発生するときに 1 回だけ発生するのはどうしてでしょうか? 関数を説明するときに $(this) に行っている呼び出しと関係がありますか?