【发布时间】:2012-06-02 18:01:37
【问题描述】:
我有一个 Jquery Mobile shell 页面,我正在使用 Ajax 将表单加载到该页面中。该表单有一些复选框,我需要绑定到这些复选框。
奇怪的是,我可以像这样直接在按钮上设置监听器:
$('input[name="ohneiln"]').on('change', function() {
alert("hello");
});
但是当我尝试将监听器设置为 $(document) 并委托给 checkbox 时,监听器永远不会触发:
$(document).on('change', 'input[name="ohneiln"]', function() {
alert("hello");
});
问题:
使用$(document).on() 为通过 Ajax 加载的“动态”元素设置事件绑定的正确方法是什么?这对于change 事件是不可能的,或者我为什么会遇到麻烦?
感谢您的帮助!
【问题讨论】:
-
您的第二个语法似乎很好,应该适用于动态元素,问题可能出在其他地方。
-
@Esailija - 但是当页面加载时您的输入就在那里。我的不是,它是在用户做一些事情后通过 Ajax 拉进来的
-
@frequent:适用于我通过 AJAX 加载的输入。 jsfiddle.net/7rDDA/1
-
@frequent 和你的第二个代码是那些元素,通过 ajax 拉
标签: jquery-mobile jquery