いくつかの動的に追加された要素にイベントハンドラを追加します。私は私の問題を以下の基本コードに単純化しました。私は新しいJQuery 1.7の機能を使って、「CancelSurvey id要素のすべてのラベルが、この通知機能をクリックしたときに呼び出す」と言っています。イベントを追加するJquery
function notify(event) {
console.log(event.data.name);
}
$('#CancelSurvey').on('click', 'label', { name: $(this).attr("id") }, notify);
パラメータの名前としてラベルのIDを渡したいとします。私はこれを警告しようとすると、定義されていません(それらはhtmlで定義されています)。私は$(this)を使っているのがこの場合にラベルセレクタを参照していないと信じています。実際には、ドキュメントそのものを参照しているようです。どのようにこれを達成するための任意のアイデア?
クリックしたラベルのIDを渡そうとしています。この天気をしたいのですか、私はCancelSurveyを知りません。この場合は少し簡略化されています。無名関数は、私がやろうとしていることの全範囲には適切ではない – JBone
@JBone:私の答えの後半を参照してください。イベントオブジェクトに格納する必要はありません。ハンドラで 'this.id'を使うだけです。関数が匿名であるかどうかは関係ありません。あなたの 'notify'関数を使用しています。 –