繁体   English   中英

IE8中窗口大小调整时JQuery / Javascript无效参数脚本错误

[英]JQuery/Javascript invalid argument script error on window resize in IE8

虽然浏览器按预期执行函数'dummyFunc()',但在使用以下代码片段对窗口大小调整事件做出反应时,我在IE8中收到脚本错误:

var jq = jQuery.noConflict();
var resizeTimer;
  jq(window).resize(function() {
      clearTimeout(resizeTimer);
      //resizeTimer = setTimeout(reloadSlider(), 100, 'JavaScript');
      resizeTimer = setTimeout(dummyFunc(), 100, 'JavaScript');
  });

function dummyFunc() {
    alert('hurra');
}

因此,问题不在于浏览器没有提醒,问题在于Internet Explorer中显示“脚本错误”消息,这是不可爱的。 我很欣赏有关如何摆脱错误消息的任何提示。

谢谢

dummyFunc()更改为dummyFunc 正如您所拥有的那样,您正在立即执行该函数,然后将undefined (函数调用的结果)传递给setTimeout

您想要传递对函数的引用:

resizeTimer = setTimeout(dummyFunc, 100, 'JavaScript');

在调试脚本时你必须运行ie8。 在查看页面时按F12并从那里开始调试。 然后,您将必须分析出现脚本错误的位置。

resizeTimer在第一个setTimeout之前是未定义的。 尝试if(resizeTimer) { clearTimeout(resizeTimer); ... if(resizeTimer) { clearTimeout(resizeTimer); ...

您正在通过调用它立即执行dummyFunc dummyFunc()被函数的返回值替换,这是未定义的。

resizeTimer = setTimeout(dummyFunc(), 100, 'JavaScript');

只需省略dummyFunc的护腕即可将其作为参考传递。

resizeTimer = setTimeout(dummyFunc, 100);

我从未见过你传过的最后一个参数,所以我把它留了出来。 这可能很容易在IE8中抛出错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM