我希望我明确提出问题。如何在页面加载后注册事件处理程序?
假设您有一些复选框(或其他任何类型的元素),您可以在页面加载时为其注册事件处理程序。然后你使用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