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

时间:2012-10-31 14:10:05

标签: javascript html internet-explorer events

我有一个单选按钮和复选框列表,我想监视他们的事件以获取他们的值
一旦点击它们,我想在值上运行一些逻辑
现在我看到的是它减慢了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直到完成操作?

1 个答案:

答案 0 :(得分:5)

  

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

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

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