IE7中的window.onload

时间:2012-08-10 18:01:09

标签: javascript jquery internet-explorer internet-explorer-7

我有这个javascript在chrome中完美运行但在IE7上不起作用:

点击id icsave,无法正常工作。什么都没发生,icsave正常保存页面

window.onload = function() {
    if ($('#MODE').val() != 'U') {
        $('#MOD_BY_JS').val( % 1);
        clik('#ICSave')
    }
};

function clik(element) {
    try {
        document.getElementById(element).click();
    }
    catch (e) {
        var evt = document.createEvent("MouseEvents");
        evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
        var cb = document.getElementById(element);
        cb.dispatchEvent(evt);
    }
};​

1 个答案:

答案 0 :(得分:1)

window.onload可能由于多种原因而无法执行。

  • 页面上的某些资源未加载(图片),因为window.onload仅在所有资源都已加载后触发。
  • 有些东西会被覆盖window.onload
  • 您在其他地方有javascript错误

我的建议是,既然您正在使用jQuery,请使用:

$(document).ready(function(){ /* initialize stuff */});

或者如果您确实需要onload

$(window).load(function(){ /* initialize stuff */});

对于您的示例,我建议使用$(document).ready(...)方法,因为它看起来我的脚本将在dom准备好后立即工作,即ready事件触发时。