当JavaScript运行某些操作时,IE停止工作

Eva*_*que 1 html javascript events internet-explorer

我有一个单选按钮和复选框的列表,我想监视他们的事件,
一旦点击它们就得到它们的值 我想在值上运行一些逻辑,
我看到的是它减慢了实际的渲染时间在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>
Run Code Online (Sandbox Code Playgroud)

如何阻止ie视图停止并等待JavaScript直到完成它的操作?

I H*_*azy 5

"我怎样才能阻止ie视图停止并等待JavaScript直到完成它的操作?"

你无法阻止IE等待JavaScript.通过等待,它的行为正确.

您可以做的最好的事情是改进代码,以便执行时间不会太长,或者将其分解为异步执行的较小块.

  • 简单地说@ user1689607吧.IE是一个古老的浏览器,我怀疑它会跟踪Firefox,Chrome等人的速度.无论MS付出多少努力(这都不是很多). (3认同)