私が取り組んでいるサイトでは、次の(簡略化された)コードが要素のクリックを処理します。
var $selectors = $('.selector');
$selectors.click( function( e ) {
// Do stuff
});
IEを除くすべてのブラウザで正常に動作します。(私はIE8とIE9をテストしましたが、両方で壊れます。)
IEはエラーをスローしませんが、コードを実行しません( "Do stuff")。
セレクターをキャッシュしなくなった場合、この問題は発生しないことがわかりました。したがって、これは機能します。
$('.selector').click( function( e ) {
// Do stuff
});
何か案は?キャッシュを停止するだけでよいことはわかっていますが、これは単純化されたユースケースです。実際には、これらのDOMルックアップをキャッシュしておくと非常に役立ちます。一般的に、なぜそれが機能しないのかを知りたいだけです。