私のページにはいくつかの<tr>
要素があり、click()
それぞれの中にある画像にイベントが添付されています。私はこのコードを使用します
$(this).clone(true).appendTo("table#foo");
次のことを行います。
<tr>
それらを別のテーブルにコピーします<tr>
s内の画像のクリックイベントを保持します(true
引数のため)
それはすべてうまくいきます。これで、これらにjQuery Listenイベントを追加した<tr>
ので、ユーザーは正確に狙う必要がありません。ユーザーはのどこでもクリック<tr>
でき、クリックを画像に渡すことができます。
これは次のようにコーディングされています。
$('tr.record').listen('click','td',function(){
$(this).parent().find("img.clickable").click();
});
listen()イベントは元のアイテムでは正常に機能しますが、複製されたアイテムでは、listen()イベントは失敗します。画像のクリックイベントは引き続き正常に機能します。
これがFirebugが私に言うことです:
m(this, e.type) is undefined
...そしてjquery.listen-1.0.3-min.jsの9行目を参照しています。
複製された要素でlisten()イベントを機能させるにはどうすればよいですか?
アップデート
デフォルトでは、jQueryは複製された要素のイベントをコピーしませんが、このプラグインはそれを行うように作られています。
一方、listen()プラグインの作成者は、別の戦略を提案しました。以下の私の回答を参照してください。