我希望我明確提出問題。如何在頁面加載後註冊事件處理程序?
假設您有一些複選框(或其他任何類型的元素),您可以在頁面加載時爲其註冊事件處理程序。然後你使用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() {});
,但顯然它不支持所有瀏覽器...
有什麼建議嗎?
感謝您的現場示例。這正是我所需要的,併爲後來的投票而感到抱歉:) – Max 2012-09-03 09:13:03