在我正在处理的网站上,以下(简化)代码处理对元素的点击:
var $selectors = $('.selector');
$selectors.click( function( e ) {
// Do stuff
});
除了IE之外,它在每个浏览器中都能正常工作。 (我已经测试了IE8和IE9,它们都破了。)
IE不会抛出任何错误,但它只是不运行代码(“Do stuff”)。
我发现如果我不再缓存选择器,我就没有这个问题。所以这有效:
$('.selector').click( function( e ) {
// Do stuff
});
有什么想法吗?我知道我可以简单地停止缓存,但这是一个简化的用例;实际上,将这些DOM查找缓存起来对我非常有帮助,而且一般来说,我只想知道它为什么不起作用。