`

attachEvent与addEventListener

阅读更多
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 是在用户按下任何键盘键(包括系统按钮,如箭头键和功能键)时发生。
分享到:
评论

相关推荐

    attachEvent和addEventListener 使用方法

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

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

    ### JavaScript中的事件处理:attachEvent与addEventListener #### 一、引言 JavaScript 是一种广泛使用的脚本语言,它被用于实现网页的动态效果和交互功能。随着 Web 技术的发展,浏览器之间的差异也逐渐显现出来...

    javascript attachEvent和addEventListener使用方法

    本知识点将介绍 JavaScript 中两种常用的方法:attachEvent 和 addEventListener,以及它们在不同浏览器中的应用和区别。 首先,attachEvent 方法是早期 Internet Explorer 浏览器引入的事件监听方法,它的语法是:...

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

    2. **`attachEvent`**: 与`addEventListener`不同,`attachEvent`在IE中执行事件处理函数时,`this`会指向绑定事件的元素,通常是全局对象`window`。当点击`test1`时,所有浏览器的行为一致,因为`onclick`属性直接...

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

    首先,我们需要理解`attachEvent`与`addEventListener`的区别。`attachEvent`是IE4至IE8特有的事件绑定方式,而`addEventListener`则是一种更通用、更符合W3C标准的方法,被现代浏览器广泛支持。当我们在IE11中尝试...

    ie与ff下的event事件

    更多的文章可以参考 //... [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 查看运行结果 综合上节attachEvent与addEventListener。 代码如下:[removed] &lt;!– function Click(event){ event = event? event

    浅谈addEventListener和attachEvent的区别

    在JavaScript中,处理DOM事件监听有两个主要的方法:`addEventListener` 和 `attachEvent`。这两个方法在功能上相似,但存在一些关键的区别,特别是在浏览器兼容性和事件处理方式上。 `addEventListener` 是W3C标准...

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

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

    js绑定事件和解绑事件

    在js中绑定多个事件用到的是两个方法:attachEvent和addEventListener,但是这两个方法又存在差异性 attachEvent方法 只支持IE678,不兼容其他浏览器 addEventListener方法 兼容火狐谷歌,不兼容IE8及以下 ...

    Javascript 的addEventListener()及attachEvent()区别分析

    Mozilla中: addEventListener的使用方式: target.addEventListener(type, listener, useCapture); target: 文档节点、document、window 或 XMLHttpRequest。 type: 字符串,事件名称,不含“on”,比如“click”...

    javascript 动态添加事件代码

    2. **attachEvent与addEventListener方法**: - **attachEvent** 是IE浏览器特有的方法,用于为元素添加事件监听器: ```javascript obj.attachEvent("onclick", Foo); function Foo() { alert("测试"); } ``...

    js监听输入框值的即时变化onpropertychange、oninput

    需要注意的是,`attachEvent` 添加的事件处理器的执行顺序与 `addEventListener` 不同。在 `attachEvent` 中,最后注册的函数会先执行。 ### 判断浏览器类型 为了确保兼容性,我们需要能够区分 IE 浏览器和其他...

    addEventListener 的用法示例介绍

    在不同的浏览器环境中,`addEventListener` 的使用略有差异,尤其是在IE与非IE浏览器之间。 在标准的W3C DOM2级事件模型中,`addEventListener` 的语法如下: ```javascript target.addEventListener(type, ...

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

    在不同浏览器间,事件处理方式的兼容性问题时常出现,其中`attachEvent`与`addEventListener`就是典型的例子。`self.attachevent is not a function`错误主要源于尝试在非IE浏览器中使用IE特有的`attachEvent`方法来...

    attachEvent的使用方法与传递参数[IE|firefox]|angluo-javascript-37392.pdf

    与W3C标准的`addEventListener`不同,`attachEvent`并不支持事件捕获阶段,并且它的事件处理函数会在事件冒泡的过程中执行。 在`attachEvent`中,事件处理函数的执行上下文(即`this`的值)会指向调用`attachEvent`...

Global site tag (gtag.js) - Google Analytics