attachEvent方法,为某一事件附加其它的处理事件。(不支持Mozilla系列)
addEventListener方法 用于 Mozilla系列
举例:
document.getElementById("btn").onclick = method1;
document.getElementById("btn").onclick = method2;
document.getElementById("btn").onclick = method3;
如果这样写,那么将会只有medhot3被执行
写成这样:
var btn1Obj = document.getElementById("btn1");
//object.attachEvent(event,function);
btn1Obj.attachEvent("onclick",method1);
btn1Obj.attachEvent("onclick",method2);
btn1Obj.attachEvent("onclick",method3);
执行顺序为method3->method2->method1
如果是Mozilla系列,并不支持该方法,需要用到addEventListener
var btn1Obj = document.getElementById("btn1");
//element.addEventListener(type,listener,useCapture);
btn1Obj.addEventListener("click",method1,false);
btn1Obj.addEventListener("click",method2,false);
btn1Obj.addEventListener("click",method3,false);
执行顺序为method1->method2->method3
使用实例:
1.
var el = EDITFORM_DOCUMENT.body;
//先取得对象,EDITFORM_DOCUMENT实为一个iframe
if (el.addEventListener){
el.addEventListener(’’click’’, KindDisableMenu, false);
} else if (el.attachEvent){
el.attachEvent(’’onclick’’, KindDisableMenu);
}
2.
if (window.addEventListener) {
window.addEventListener(’’load’’, _uCO, false);
} else if (window.attachEvent) { }
function beforeCheck(){
if(checkFlag) {
return ;
}
if(changeFlag){
return "the old was not saved,";
}else{
return ;
}
}
//关闭浏览器时触发的事件
window.onbeforeunload = beforeCheck;
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<script>
function method1(){
alert('method1');
}
function method2(){
alert('method2');
}
function method3(){
alert('method3');
}
</script>
</HEAD>
<BODY id='by'>
<input type='button' value='Button' id='btn'/>
<input type='button' value='Button1' id='btn1'/>
</BODY>
<script>
(function test(){
document.getElementById("btn").onclick = method1;
document.getElementById("btn").onclick = method2;
document.getElementById("btn").onclick = method3;//只有method3被执行
})();
(function tt(){
var el = document.getElementById("btn1");
if (el.addEventListener){ //Mozilla系列下
el.addEventListener('click', method1, false);
} else if (el.attachEvent){ //IE下
el.attachEvent('onclick', method1);
el.attachEvent('onclick', method2);
el.attachEvent('onclick', method3);
//执行顺序method3->method2->method1
}
})();
</script>
</HTML>
onkeypress是在用户按下并放开任何字母数字键时发生。系统按钮(例如,箭头键和功能键)无法得到识别。
onkeyup 是在用户放开任何先前按下的键盘键时发生。
onkeydown 是在用户按下任何键盘键(包括系统按钮,如箭头键和功能键)时发生。
分享到:
相关推荐
在JavaScript中,`attachEvent` 和 `addEventListener` 是两种用于为元素添加事件处理程序的方法,主要在Internet Explorer和非IE浏览器(遵循W3C标准)中使用。它们都是用来监听和响应用户或浏览器的特定行为,如...
### JavaScript中的事件处理:attachEvent与addEventListener #### 一、引言 JavaScript 是一种广泛使用的脚本语言,它被用于实现网页的动态效果和交互功能。随着 Web 技术的发展,浏览器之间的差异也逐渐显现出来...
本知识点将介绍 JavaScript 中两种常用的方法:attachEvent 和 addEventListener,以及它们在不同浏览器中的应用和区别。 首先,attachEvent 方法是早期 Internet Explorer 浏览器引入的事件监听方法,它的语法是:...
2. **`attachEvent`**: 与`addEventListener`不同,`attachEvent`在IE中执行事件处理函数时,`this`会指向绑定事件的元素,通常是全局对象`window`。当点击`test1`时,所有浏览器的行为一致,因为`onclick`属性直接...
首先,我们需要理解`attachEvent`与`addEventListener`的区别。`attachEvent`是IE4至IE8特有的事件绑定方式,而`addEventListener`则是一种更通用、更符合W3C标准的方法,被现代浏览器广泛支持。当我们在IE11中尝试...
更多的文章可以参考 //... [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 查看运行结果 综合上节attachEvent与addEventListener。 代码如下:[removed] <!– function Click(event){ event = event? event
在JavaScript中,处理DOM事件监听有两个主要的方法:`addEventListener` 和 `attachEvent`。这两个方法在功能上相似,但存在一些关键的区别,特别是在浏览器兼容性和事件处理方式上。 `addEventListener` 是W3C标准...
这时就要用window.attachEvent和window.addEventListener来解决一下。 下面是一个解决方法。至于attachEvent和addEventListener的用法,可以自己Google或百度一下。 代码如下: if (document.all){ window....
在js中绑定多个事件用到的是两个方法:attachEvent和addEventListener,但是这两个方法又存在差异性 attachEvent方法 只支持IE678,不兼容其他浏览器 addEventListener方法 兼容火狐谷歌,不兼容IE8及以下 ...
Mozilla中: addEventListener的使用方式: target.addEventListener(type, listener, useCapture); target: 文档节点、document、window 或 XMLHttpRequest。 type: 字符串,事件名称,不含“on”,比如“click”...
2. **attachEvent与addEventListener方法**: - **attachEvent** 是IE浏览器特有的方法,用于为元素添加事件监听器: ```javascript obj.attachEvent("onclick", Foo); function Foo() { alert("测试"); } ``...
需要注意的是,`attachEvent` 添加的事件处理器的执行顺序与 `addEventListener` 不同。在 `attachEvent` 中,最后注册的函数会先执行。 ### 判断浏览器类型 为了确保兼容性,我们需要能够区分 IE 浏览器和其他...
在不同的浏览器环境中,`addEventListener` 的使用略有差异,尤其是在IE与非IE浏览器之间。 在标准的W3C DOM2级事件模型中,`addEventListener` 的语法如下: ```javascript target.addEventListener(type, ...
在不同浏览器间,事件处理方式的兼容性问题时常出现,其中`attachEvent`与`addEventListener`就是典型的例子。`self.attachevent is not a function`错误主要源于尝试在非IE浏览器中使用IE特有的`attachEvent`方法来...
与W3C标准的`addEventListener`不同,`attachEvent`并不支持事件捕获阶段,并且它的事件处理函数会在事件冒泡的过程中执行。 在`attachEvent`中,事件处理函数的执行上下文(即`this`的值)会指向调用`attachEvent`...