javascript事件处理程序

javascript 事件处理程序

1、普通事件处理程序

<input  type="button" value="click me" onclick="showMessage()"  /> 
function showMessage(){

	alert("clicked");

}

2、DOMO 级事件处理程序

 <span style="white-space:pre">	</span>//老方法
	 var btn=document.getElementById("myBtn");
	 //dom扩展方法 支持主流浏览器,相似jquery语法
     var btn=document.querySelector("#myBtn");
     btn.onclick=function(){
     	alert("clicked!");
     };

3、DOM2 级事件处理程序

主要介绍这个。上面两个大家应该都非常熟悉了。DOM2事件处理程序定义了两个方法,用于加入和删除事件处理程序操作:addEventListener() 和 removeEventListener()

全部DOM节点都包括这两个方法,他们有3个參数  :要处理的事件名、函数 、布尔值(true捕获阶段运行,false冒泡阶段运行),一般填false

样例:

 var btn=document.getElementById("myBtn");
	 btn.addEventListener("click",function(){
	 	alert("clicked!");
	 },false);
 //传入removeEventListener 的參数必须和addEventListener 一样
	 btn.removeEventListener("click",function(){
	 	//这里不会运行 没实用--
	 	alert("clicked!");
	 },false);

IE实现了两个类似的方法:attachEvent()和detachEvent()  ,接受两个參数。没有八个bool值

样例 :

 	 var btn=document.getElementById("myBtn");
     btn.attachEvent("onclick",function(){
     	alert("clicked");
     });
     btn.detachEvent("onclick",function(){
     	alert("clicked");
     });

所以 我们这边也写了个跨浏览器的事件处理程序:

//跨浏览器 事件处理程序
	var EventUtil= {

		addHandler:function(element,type,handler){
			if(element.addEventListener){

				element.addEventListener(type,handler,false);
			}else if(element.attachEvent){
				element.attachEvent("on"+type,handler);
			}else{
				element["on"+type]=handler;
			}
		},
		removeHandler:function(element,type,handler){
			if(element.removeEventListener){
				//除IE 其它
				element.removeEventListener(type,handler,false);
			}else if(element.detachEvent){
				//IE
				element.detachEvent("on"+type,handler);
			}else{
				element["on"+type]=handler;
			}
		}
	}

时间: 2024-07-30 13:36:38

javascript事件处理程序的相关文章

Javascript事件处理程序的3种方式

既然产生了事件,我们就要去处理它,据我了解Javascript事件处理程序主要有3种方式: 1.HTML事件处理程序 即我们直接在HTML代码中添加事件处理程序,如下面这段代码: <input id="btn1" value="按钮" type="button" onclick="showmsg();"> <script>    function showmsg(){        alert(&quo

JavaScript - 事件处理程序

即响应某个事件的函数. 1. HTML事件处理程序 <input type="button" value="Click Me" onclick="alert('Clicked')" /> 或者 <input type="button" value="Click Me" onclick="showMessage()" /> onclick的处理程序中可以通过even

JavaScript之事件处理程序

一.原生JavaScript事件处理程序 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <script src="EvenUtil.js" charset="UTF-8"></script> <script src="demo1.js" charset

JavaScript事件机制

<script type="text/javascript" src="http://runjs.cn/gist/2zmltkfa/all"></script> [前端培养-作业01]javascript事件机制 1.javascript事件模型 2.e.target与e.currentTarget是干什么的? 3.preventDefault与stopPropagation是干什么的 4.什么是dispatchEvent? 5.说一说事件代

DOM事件探秘之事件流与事件处理程序

1.事件流:描述的是从页面中接受事件的顺序 ①.事件冒泡流:即时间最开始由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播至最不具体的那个节点(文档).      栗子:若<body><div><input type="button"/></div></body>次结构,点击按钮时,默认点了按钮的容器 默认点了body,默认点了html,默认点了document. ②.事件捕获:不太具体的节点应该更早接收到事

探究JavaScript中的五种事件处理程序

我们知道JavaScript与HTML之间的交互是通过事件实现的.事件最早是在IE3和Netscape Navigator 2中出现的,当时是作为分担服务器运算负载的一种手段. 通俗地理解,事件就是用户或浏览器自身执行的某种操作.而事件处理程序即为响应某个事件的函数.抽出主干,即事件处理程序为函数.  我们又把事件处理程序称为事件侦听器.  事件处理程序是以"on"开头的,因此对于事件on的时间处理程序即为onclick.时间处理程序在JavaScript中大致有五种,下面会根据这五种

JavaScript事件对象与事件处理程序

在学习之前建议请看一下事件流.事件冒泡.事件捕获 一.事件对象 事件对象:在DOM触发事件时,会产生一个事件对象event,这个事件对象包含着所有与事件相关的信息.既然event是事件对象,那么它必然存在属性 ①DOM中的事件对象event属性   (1).type属性用于获取事件类型   (2).target.srcElement<兼容IE事件>属性用于获取事件目标    (3).stopPropagation()方法 用于阻止事件冒泡   (4).preventDefault() 方法 阻

JavaScript 中的事件流和事件处理程序(读书笔记思维导图)

JavaScript 程序采用了异步事件驱动编程模型.在这种程序设计风格下,当文档.浏览器.元素或与之相关的对象发生某些有趣的事情时,Web 浏览器就会产生事件(event). JavaScript 与 HTML 之间的交互是通过事件实现的.事件就是文档或浏览器窗口中发生的一些特定的交互瞬间,或者说事件就是 Web 浏览器通知应用程序发生了什么事情.可以使用侦听器(或处理程序)来预订事件,以便事件发生时执行相应的代码. 以下是<JavaScript高级程序设计>中事件流和事件处理程序的总结:

[转]javascript指定事件处理程序包括三种方式:

javascript指定事件处理程序包括三种方式: (1):DOM0级事件处理程序 如: 代码如下: var btn=document.getElementById("mybtn"); //取得该按钮的引用 btn.onclick=function(){ alert('clicked'); alert(this.id); // mybtn 以这种方式添加的事件处理程序会在事件流的冒泡阶段被处理. 删除DOM0级方法指定的事件处理程序: btn.onclick=null; // 删除事件