使用
on1.7版以上的委托事件
$('body').on('change', '#chapters-select', function(){ alert('changed');});为了提高性能,
body您应该编写最接近的static(未使用ajax或javascript添加动态)元素,该元素包含“
chapters-select
如果您使用的是旧版本,请使用
jQuery下表选择适当的方法:
$(selector).live(events, data, handler); // jQuery 1.3+ $(document).delegate(selector, events, data, handler); // jQuery 1.4.3+ $(document).on(events, selector, data, handler); // jQuery 1.7+
ondocs:
提供选择器后,事件处理程序称为“委托”。当事件直接发生在绑定元素上时,不调用处理程序,而仅对与选择器匹配的后代(内部元素)进行调用。jQuery使事件从事件目标一直冒泡到附加了处理程序的元素(即,最内层元素到最外层元素),并沿该路径运行与选择器匹配的任何元素的处理程序。
事件处理程序仅绑定到当前选定的元素。在您的代码调用.on()时,它们必须存在于页面上。为确保元素存在并可以选择,请在文档就绪处理程序内对页面上HTML标记中的元素执行事件绑定。如果将新的HTML注入页面,请在将新的HTML放入页面后选择元素并附加事件处理程序。或者,使用委托事件来附加事件处理程序,如下所述。



