为什么 window.setTimeout 在 IE9 中引发异常
Why window.setTimeout throws an exception in IE9?
这是我的代码:
save: function(){
window.setTimeout(recipeControlsViewModel.saveWOTimeOut(),500);
},
这是我仅在IE9的IE9的Internet选项中选中"显示有关每个脚本错误的通知"选项时收到的错误。这在FireFox,Chrome或IE10和IE11中不会发生。
SCRIPT87: Invalid argument
有谁知道为什么会发生这种情况以及如何解决这个问题?
你只需要将该函数调用包装在一个匿名函数中:
save: function(){
window.setTimeout(function() { recipeControlsViewModel.saveWOTimeOut() },500);
},
或者,从IE9开始,您可以使用.bind()
:
save: function(){
window.setTimeout(recipeControlsViewModel.saveWOTimeOut.bind(recipeControlsViewModel) },500);
},
尽管在这种情况下,这更多的是打字。.bind()
函数返回另一个"绑定"到您传递给它的对象的函数。这意味着返回的函数将调用原始函数(由"saveWOTimeOut"属性引用的函数),参数("recipeControlsViewModel")作为this
的值。
相关文章:
- Angular JS IE9 Hashbang url rewriting
- 在Twitter上用ie9中的空白src访问iframe的contentWindow
- 在IE9中的输入字段中输入焦点最近按钮
- 为什么jQuery 1.8不能在IE8和InternetExplorer9中使用?(截至2012年9月的IE9最新版本)
- IE9的HTML5 Canvas getImageData()函数存在问题
- 使用JavaScript在IE9中获取数据列表选项
- 在javaservlet doPost方法中启动线程时,无法返回异常消息
- document.applet.method在Mounatin Lion上抛出safari 6+JDK7异常
- Ajax模式下的Jquery Select2 V4在IE9中不起作用
- 为什么浏览器没有为语法错误抛出异常
- java,javascript签名的小程序(文件选择,ftp上传)安全性/套接字异常
- node.js和express中的异常处理
- 派生进程的stdout在管道传输时工作异常
- NodeJS和pg promise,捕获PostgreSQL异常
- 当显式定义控制器参数时,默认模型绑定器会发生异常
- 显示引导弹出操作异常的逻辑
- jQuery无法在IE9中隐藏选项
- 调用谷歌地图路线服务时未捕获的异常
- 为什么 window.setTimeout 在 IE9 中引发异常
- IE9在iframe中加载脚本时抛出异常.为什么?