`
q474818917
  • 浏览: 40470 次
  • 性别: Icon_minigender_1
  • 来自: 扬州
社区版块
存档分类
最新评论

window.attachEvent 和addEventListener

阅读更多
以前写JavaScript脚本时,事件都采用object.event = handler的方式绑定。这种方式对于Internet Explorer、Mozilla/Firefox和Opera来说很通用。但有一个问题,这种方式只能一个事件对应一个事件处理过程。如果希望一个事件可以依次执执行多个处理过程,就不好用了。

Internet Explorer从5.0开始,提供了一个attachEvent方法,使用这个方法,可以一个事件,绑定多个处理过程。但是Mozilla/Firefox并不支持这个方法,它使用另外一个方法addEventListener。它们之间有少许区别,在attachEvent方法中,事件是以"on"开头的,而addEventListener,事件不是以"on"开头,另外,addEventListener还有第三个参数,一般指定false就可以。

因此,在程序中,给一个事件指派多个处理过程的话。需要根据不同的浏览器,选择使用attachEvent和addEventListener。示例如下:

if (window.attachEvent) {

window.attachEvent("onload", foo);

} else if (window.addEventListener) {

window.addEventListener("load", foo, false);

}

function foo() {

alert("ok");

}
分享到:
评论

相关推荐

    IE11没有window.attachEvent方法处理方法

    ### IE11没有window.attachEvent方法处理方法 在Web开发过程中,我们经常需要处理各种浏览器兼容性问题。其中,Internet Explorer(简称IE)一直是开发者关注的重点之一,尤其是IE10及以下版本。随着技术的发展,IE...

    window.addEventListener来解决让一个js事件执行多个函数

    这时就要用window.attachEvent和window.addEventListener来解决一下。 下面是一个解决方法。至于attachEvent和addEventListener的用法,可以自己Google或百度一下。 代码如下: if (document.all){ window....

    attachEvent和addEventListener 使用方法

    在JavaScript中,`attachEvent` 和 `addEventListener` 是两种用于为元素添加事件处理程序的方法,主要在Internet Explorer和非IE浏览器(遵循W3C标准)中使用。它们都是用来监听和响应用户或浏览器的特定行为,如...

    self.attachevent is not a function的解决方法

    总之,解决`self.attachevent is not a function`错误的关键在于理解`attachEvent`和`addEventListener`的区别,并通过条件判断或者使用库来实现跨浏览器的兼容性。同时,对于事件处理的模式选择,应根据实际需求和...

    可设置时间的广告.rar

    部分代码如下: Author:sohighthesky ... *Date:2009-11-9 */ /* *box 指定要显示消息框或者其id ... if(window.addEventListener)window.addEventListener(e,call,false); else window.attachEvent("on"+e,call); },

    window.open()实现post传递参数

    对于非IE,使用`addEventListener`和`dispatchEvent`。 5. 提交表单后,从文档中移除这个临时创建的表单。 在提供的代码中,`openPostWindow`函数就是实现这一过程的。它接收URL、窗口名以及需要传递的参数作为输入...

    addEventListener 的用法示例介绍

    DOM2级事件还引入了一系列新的事件类型,如`onblur`、`onfocus`、`onchange`等,以及与鼠标和键盘相关的事件,这些事件可以配合`addEventListener`进行处理,使得JavaScript能够更精确地响应用户操作。 总的来说,`...

    javascript attachEvent和addEventListener使用方法

    attachEvent方法 按钮onclick addEventListener方法 按钮click 两者使用的原理:可对执行的优先级不一样,下面实例讲解如下: attachEvent方法,为某一事件附加其它的处理事件。(不支持Mozilla系列) ...

    javascript宿主对象之window.navigator详解

    - 另一个判断IE的方法是通过判断window对象是否存在addEventListener或attachEvent属性,这两者分别用于现代浏览器和旧版IE浏览器的事件处理。 - browerType函数通过分析userAgent字符串来判断用户的设备类型,比如...

    关于iframe中生成父窗口元素及增加event事件的问题(IE已实现,Firefox暂未实现)

    理解并熟练运用`contentWindow`、`contentDocument`、`attachEvent`、`addEventListener`以及`postMessage`等技术,是解决这类问题的关键。同时,时刻关注浏览器的更新和安全策略的变化,以便及时调整代码以确保良好...

    window.js 主要包含了页面的一些操作

    在JavaScript中,`window.js`通常是一个用于处理与浏览器窗口或页面交互的脚本...然而,为了提高代码质量和浏览器兼容性,需要更新一些过时的方法,如替换`eval`和`attachEvent`,并考虑使用更现代的JavaScript特性。

    JS在IE和FF下attachEvent,addEventListener学习笔记

    本文将探讨在 Internet Explorer (IE) 和 Firefox (FF) 浏览器中处理事件的方法,特别关注 `attachEvent` 和 `addEventListener` 的使用。 #### 二、事件处理概述 在 JavaScript 中,事件是指由用户或浏览器引发的...

    JavaScript使用HTML5的window.postMessage实现跨域通信例子

    在IE6和IE7浏览器中,因为不支持addEventListener()方法,可以使用attachEvent()作为替代。同时需要注意的是,为了安全,应当检查event.origin是否是可信的源。 window.postMessage()方法的优点是强大且灵活,但是...

    addEventListener和attachEvent二者绑定的执行函数中的this不相同

    在JavaScript中,`addEventListener`和`attachEvent`都是用于向元素添加事件监听器的方法,但它们之间存在一些关键差异,特别是在处理`this`关键字时。`addEventListener`是W3C标准的一部分,被大多数现代浏览器支持...

    window.open以post方式将内容提交到新窗口

    这种方法是通过动态创建HTML表单(form)元素,设置其属性,并利用`attachEvent`或`addEventListener`来触发表单的提交。首先,创建一个临时的表单元素,设置其方法为POST,动作为目标URL,以及一个隐藏的输入字段来...

    各种浏览器兼容问题

    关于用脚本设置onload事件句柄 ... [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]关于用脚本绑定事件句柄 IE 下用 attachEvent, FF 下用 addEventListener相关讨论如下:http://search.blueidea.com/?q=addE

    js拖动窗口

    对于旧版本的Internet Explorer(如IE6),事件处理方式有所不同,需要使用`attachEvent`和`detachEvent`代替`addEventListener`和`removeEventListener`。此外,IE6不支持`style.getPropertyValue`,需要使用`...

Global site tag (gtag.js) - Google Analytics