2011-11-22 55 views
0

我有下面的代码行中我的程序:是否:过滤旧版IE的工作?

$('input').filter(':radio').change(function() { 

的问题是,一些使用Internet Explorer的人都表示,它不发射(或者说是它里面的程序无法正常工作)。 我知道JavaScript是为他们的浏览器打开的,因为其他的东西都在工作。

IE和上面提到的代码是否存在已知的兼容性问题? 我有IE9,它为我工作。 我正在从Google的CDN载入最新版本的jQuery。

+1

在什么版本的IE是什么呢? – Galled

+0

它必须。这就是jQuery对跨浏览器兼容性的自豪感。如果你有最新版本,那么确定它确实工作。也许你的访问者没有启用JavaScript? – Shef

+1

你什么时候期待.change()开火?它看起来像一些版本的IE浏览器只会在无线电失去焦点时触发它。这可能是你的问题:http://stackoverflow.com/questions/1498987/ie-html-radio-change-event或这个:http://norman.walsh.name/2009/03/24/jQueryIE。 – jfriend00

回答

0

没有听说过任何与它的已知问题,但你总是写不使用过滤器:

$('input:radio').change(function() { 
    // your code 
}); 
+1

不应该改变这个问题,但这是一个更清洁和更好的方式来做到这一点! :) – Sander

+0

嗯。文档中说:“因为radio是jQuery扩展,而不是CSS规范的一部分,所以使用radio的查询无法利用本地DOM querySelectorAll()方法提供的性能提升。为了在现代浏览器中获得更好的性能,请使用[type =“收音机”]代替。“ –

+0

我试试$('input [type =“radio”]')。click(function() –