jquery .change()事件未在iPhone上触发

时间:2012-10-10 12:20:04

标签: jquery mobile-webkit

我遇到了在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

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

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

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

此外,从jQuery 1.5开始,所有attribute selectors need to be quoted(例如第二个选择器中的“复选框”)。