-3

我有这个 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);
    }
};​
4

1 回答 1

1

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

  • 页面上的某些资源没有加载(图像),因为window.onload只有在所有资源都加载后才会触发。
  • 有些东西正在覆盖window.onload
  • 您在其他地方遇到了 javascript 错误

我对您的建议是,由于您使用的是 jQuery,请使用:

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

或者如果你真的需要onload

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

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

于 2012-08-10T18:03:53.227 回答