我有一个
Jquery Mobile shell页面,我正在使用Ajax加载表单.该表单有一些复选框,我需要绑定到.
奇怪的是,我可以让它直接在按钮上设置听众,就像这样:
$('input[name="ohneiln"]').on('change',function() { alert("hello"); });
但是当我试图将监听器设置为$(document)并委托给复选框时,监听器从不触发:
$(document).on('change','input[name="ohneiln"]',function() { alert("hello"); });
题:
使用$(document).on(),通过Ajax加载“动态”元素来设置事件绑定的正确方法是什么?这是不可能的改变事件还是为什么我遇到麻烦?
感谢帮助!
解决方法
.on()方法的工作方式根据您的使用方式而改变.在第一个例子中,.on()方法的行为类似于绑定,只适用于已经存在的元素.
第二个例子以很多方式表现得像.live()或delegate().并且将适用于稍后添加的元素.
阅读文档详细说明http://api.jquery.com/on/