質問を明確にしたいと思います。
ページの読み込み時にイベントハンドラーを登録するためのチェックボックス(またはその他のタイプの要素)があるとします。次に、AJAXを使用してさらにいくつかのチェックボックスを追加します(したがって、ページのリロードはありません)。しかし、これらの新しく追加されたチェックボックス(ページがロードされた後)に同じ登録済みイベントハンドラーを持たせたいですか?
私が試したのはこれでしたが、もっと良いアプローチが必要だと感じています。
$(document).ready(function () {
// Register custom envets handler
registerCustomEventHandlers();
$('a').on('click', addExtraFields);
});
function registerCustomEventHandlers() {
$('input.class_name').on("change", sayHelloWorld);
}
function sayHelloWorld() {
alert('Hello world');
}
function addExtraFields() {
// insert some checkboxes...
// register the events handler again for the newly added fields
registerCustomEventHandlers();
}
したがって、基本的にチェックボックスを追加する関数内で、すべてのイベントハンドラーを再度登録します。私はこのようなものを見ていました$(document).change(function() {});
が、どうやらそれはすべてのブラウザでサポートされているわけではありません...
助言がありますか?