1

我在让 Iphone 中触发 jquery .change() 事件时遇到问题。代码类似于以下内容:

var checkboxes = $('#someelement').find('input[type=checkbox]');

checkboxes.change(function() {

//never gets here on iPhone
alert('hello');
});

checkboxes.filter(':checked').trigger('change'); 

复选框列表在此步骤之前动态生成,并使用 .append() 方法写入页面。

这一切都适用于桌面浏览器和 Android 手机。使用 JQuery 版本 1.6.4

有什么想法吗?

4

1 回答 1

3

尝试使用delegate,它可以让您将事件附加到当前和未来的元素。

$("#someelement").delegate('input[type="checkbox"]', "change", function(){
  alert('hello');
});

此外,从 jQuery 1.5 开始,所有属性选择器都需要被引用(例如,第二个选择器中的“复选框”)。

于 2012-10-10T12:27:31.650 回答