我已经写了一些用于添加事件监听器的跨浏览器代码,然后chrome开始变得时髦,任何人都知道为什么会发生这种情况?
添加事件侦听器代码:
function addEventListener(Elm,Type,Func)
{
if(Elm.attachEvent)
Elm.attachEvent((Type.substr(0,2) == 'on' ? Type : 'on'+Type),Func);
else
Elm.addEventListener(Type,Func);
}
Run Code Online (Sandbox Code Playgroud)
代码调用方法:
addEventListener(window,'load',SetSize);
addEventListener(window,'resize',SetSize);
Run Code Online (Sandbox Code Playgroud)
错误:
Uncaught TypeError: Object load has no method 'addEventListener'
Run Code Online (Sandbox Code Playgroud)
您可以非常清楚地看到我已按正确的顺序传递了参数,但它们并未按所述顺序进行解释.
你已经被覆盖了window.addEventListener.
原生签名是:event_name, callback但你的签名是:object, event_name, callback.
更改函数addEventListener或命名空间的名称,例如my_framework.addEventListener
| 归档时间: |
|
| 查看次数: |
74 次 |
| 最近记录: |