我遇到了在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
有什么想法吗?
答案 0 :(得分:2)
尝试使用delegate
,它可以将事件附加到当前和未来的元素。
$("#someelement").delegate('input[type="checkbox"]', "change", function(){
alert('hello');
});
此外,从jQuery 1.5开始,所有attribute selectors need to be quoted(例如第二个选择器中的“复选框”)。