标签: attachevent

正确使用addEventListener()/ attachEvent()?

我不知道如何使用addEventListener分别attachEvent正确?

window.onload = function (myFunc1) { /* do something */ }

function myFunc2() { /* do something */ }

if (window.addEventListener) {
  window.addEventListener('load', myFunc2, false);
} else if (window.attachEvent) {
  window.attachEvent('onload', myFunc2);
}

 // ...
Run Code Online (Sandbox Code Playgroud)

要么

function myFunc1() { /* do something */ }

if (window.addEventListener) {
  window.addEventListener('load', myFunc1, false);
} else if (window.attachEvent) {
  window.attachEvent('onload', myFunc1);
}

function myFunc2() { /* do something */ }

if (window.addEventListener) {
  window.addEventListener('load', myFunc2, false);
} else if (window.attachEvent) …
Run Code Online (Sandbox Code Playgroud)

javascript attachevent addeventlistener

75
推荐指数
2
解决办法
8万
查看次数

如果我调用的JS参数的参数多于定义接受的参数,会发生什么?

我想知道常规的全家JS开发人员(我)定义的函数,以及预定义的DOM方法.就像我试图attachEvent用WHATWG的签名调用IE一样会发生什么addEventListener?例如,

elem.attachEvent('onbillgates\'mom', function(e){ this.mount(); }, false);

具体来说,请注意false.即使attachEvent方法的签名只需要两个参数,它会绊倒吗?

谢谢.

function foo(FirstOf2, SecondOf2) {
  console.log(FirstOf2 + SecondOf2);
}

foo(1, 2, true);
Run Code Online (Sandbox Code Playgroud)

javascript arguments function attachevent

12
推荐指数
3
解决办法
1万
查看次数

安全,通用,在Javascript中使用addEventHandler的方法?

在我深入了解这个问题的细节之前,我想让情况清楚.我们的网站分析公司是大型网站的顾问,除了添加单个SCRIPT标签外,我们无法控制网页本身.

我们现有的脚本使用"旧"方式安装处理程序(element.onclick = blah的花哨版本;它也执行原始处理程序),它完全不知道页面上的"new"(addEventListener或attachEvent)处理程序.我们想解决这个问题,使我们的脚本能够在更多站点上运行,而无需进行太多的自定义开发.

这里最初的想法是让我们自己的脚本使用addEventListener/attachEvent,但是这会产生一个问题:客户端站点使用"旧"方式设置处理程序,它会消灭我们安装"新"方式的处理程序.快速而肮脏的测试表明,这种情况在IE7和FF3中都会发生,尽管我没有测试整个浏览器范围.还有一种风险是,如果我们在页面的事件处理程序设置之后使用"新"方式,我们可以删除它们的处理程序.

所以我的问题是:我可以使用什么安全技术在Javascript中使用addEventListener/attachEvent添加事件处理程序,无论页面上的其他事件处理程序如何安装,它都能正常工作?

请记住:我们无法修改安装脚本的站点.(我必须强调,因为像这样的问题的默认答案总是如此,"只需重写页面以同样的方式完成所有事情.")

javascript events dom attachevent

6
推荐指数
1
解决办法
6609
查看次数

将JQuery事件附加到"动态创建"控件

我在页面中附加了一个现有的div.附加文本包含字符串中的html代码.问题是,当我在追加到页面后添加点击它们时,事件不起作用.我猜Jquery在页面加载时加载控件,我必须做一些事情来再次攻击事件.

jquery attachevent

1
推荐指数
1
解决办法
1565
查看次数