1

ラジオボタンとチェックボックスのリストがあり、
クリックされたらイベントを監視して値を取得したいのですが、値に対してロジックを実行したいのですが
、実際のレンダリング時間が遅くなることがわかります。 IE8 / IE9での変更点
は、ビューが結果を待っているのを見て、他のすべてのブラウザーがそれを通り抜けるのが奇妙に見えること
ですが、IEはそれほど多くありません

これがサンプルコードです

<html>
<body>
    <input type="radio" name="rad" value="1" id="t" />
</body>

<script type="text/javascript">     
    function addEventHandler(elem,eventType,handler) {
        if (elem.addEventListener){
            elem.addEventListener (eventType,handler,false);
        }else if (elem.attachEvent){
            elem.attachEvent ('on'+eventType,handler);
        }
    }

        var el = document.getElementById("t");

    addEventHandler( document.getElementById("t") , 'click' , function(){
        for(var i=0;i<30000000;i++);// the for loop is only to show the blocking behavior that OP is experiencing
        alert("handled")
    } );
</script>
</html>

ieビューが停止してJavaScriptが終了するまで待機するのを防ぐにはどうすればよいですか?

4

1 に答える 1

5

「ieビューが停止してJavaScriptが動作を終了するまで待機するのを防ぐにはどうすればよいですか?」

IEがJavaScriptを待機するのを防ぐことはできません。待つことで、正しく動作しています。

最善の方法は、実行にそれほど時間がかからないようにコードを改善するか、非同期で実行される小さなチャンクにコードを分割することです。

于 2012-10-31T14:14:58.530 に答える