0

私が取り組んでいるサイトでは、次の(簡略化された)コードが要素のクリックを処理します。

var $selectors = $('.selector');

$selectors.click( function( e ) {
    // Do stuff
});

IEを除くすべてのブラウザで正常に動作します。(私はIE8とIE9をテストしましたが、両方で壊れます。)

IEはエラーをスローしませんが、コードを実行しません( "Do stuff")。

セレクターをキャッシュしなくなった場合、この問題は発生しないことがわかりました。したがって、これは機能します。

$('.selector').click( function( e ) {
    // Do stuff
});

何か案は?キャッシュを停止するだけでよいことはわかっていますが、これは単純化されたユースケースです。実際には、これらのDOMルックアップをキャッシュしておくと非常に役立ちます。一般的に、なぜそれが機能しないのかを知りたいだけです。

4

0 に答える 0