意外的“else”和函数未运行
Unexpected "else" and function not running
这段代码似乎没有正常运行:
var addEventListener = (function () {
"use strict";
if (document.addEventListener) {
return function (element, event, handler) {
element.addEventListener(event, handler, false);
};
} else {
return function (element, event, handler) {
element.attachEvent('on' + event, handler);
};
}
})();
addEventListener(window, 'onload', calcFailback);
铬返回:
未捕获的类型错误:对象加载没有方法"addEventListener"
Jslint 返回:
出乎意料的。
有什么想法吗?
您正在创建一个全局变量addEventListener
,它将被添加为window
的属性。所以window.addEventListener
(element
=== window
,这个调用)实际上指的是你的自定义函数,而不是本机函数。使用其他名称:
var myAddEventListener = (function() {
"use strict";
if (document.addEventListener) {
return function(element, event, handler) {
element.addEventListener(event, handler, false);
};
} else {
return function(element, event, handler) {
element.attachEvent('on' + event, handler);
};
}
})(); //<-- invoke it
还可以使用"load"
:
myAddEventListener( window, "load", function(){})
相关文章:
- 关注函数运行过的表单字段(新手)
- 在函数运行时显示对话
- Javascript - 加载函数运行时未定义的变量
- Javascript变量在函数运行后不断重置自身
- 如何让 setTimeout 函数运行,然后停止使用循环
- 如何在函数运行之前隐藏 CSS
- 使用 .on 函数运行 jQuery 声明函数
- 在函数运行期间关闭 onClick
- jQuery停止函数运行两次
- Javascript:如何在函数运行完成之前对文档进行更改
- nodejs - 为什么我的异步函数运行两次
- 在传递值后停止函数运行
- 如何在 javascript 中的函数中将字符串作为函数运行
- 如何停止计时器函数运行
- 在浏览器空闲后保持设置超时函数运行
- JQuery:阻止一个函数运行,直到满足另一个函数条件“X”时间
- Angular 提供程序服务需要 init 函数运行一次
- 更新 Angular $interval 中的变量会导致其他函数运行
- 如何阻止此 setTimeout 函数运行
- 传入函数数组作为参数,对于函数中的每个函数运行函数