`
makeyouown
  • 浏览: 52488 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

javascript 事件模型

 
阅读更多
js 事件在大多数浏览器中都遵循冒泡模型。
冒泡模型可以用一个简单的例子解释:
比如你画了一个同心圆,手指点击某个圆圈内部,那么事件会从这个圆圈逐个传播到包含这个圆圈的外部圆圈。这又让我想起了像平静的湖面扔一块小石头,湖面荡起一圈一圈的涟漪。

不过在Netscape浏览器中却是相反的。

Dom事件模型包括两方面
捕获过程和冒泡过程。
IE不支持。

Dom 0 level 事件处理

var btn = document.getElementById(“myBtn”);
btn.onclick = function(){
alert(this.id); //”myBtn”
};
//用完以后
btn.onclick = null; //remove event handler


Dom 2 level 事件处理

var btn = document.getElementById(“myBtn”);
//false表示在冒泡阶段,true表示在捕获阶段
btn.addEventListener(“click”, function(){
alert(this.id);
}, false);

Dom2 Level可以添加多个同样事件到一个DOM对象上
var btn = document.getElementById(“myBtn”);
btn.addEventListener(“click”, function(){
alert(this.id);
}, false);
btn.addEventListener(“click”, function(){
alert(“Hello world!”);
}, false);


执行时按定义时的顺序。

var btn = document.getElementById(“myBtn”);
btn.addEventListener(“click”, function(){
alert(this.id);
}, false);
//other code here
btn.removeEventListener(“click”, function(){ //won ’ t work!
alert(this.id);
}, false);

匿名函数不能被移除。

var btn = document.getElementById(“myBtn”);
var handler = function(){
alert(this.id);
};
btn.addEventListener(“click”, handler, false);
//other code here
btn.removeEventListener(“click”, handler, false); //works!

DOM Level 2 在 Firefox, Safari, Chrome, and Opera等浏览器得到支持。
IE呢有自己的独特的方法:
attachEvent()  detachEvent()
var btn = document.getElementById(“myBtn”);
btn.attachEvent(“onclick”, function(){
alert(“Clicked”);
});
/*IE DOM0LEVEL 事件处理里的this值该DOM对象,而在DOM2level this值指window对象。*/
var btn = document.getElementById(“myBtn”);
btn.attachEvent(“onclick”, function(){
alert(this === window); //true
});


var btn = document.getElementById(“myBtn”);
btn.attachEvent(“onclick”, function(){
alert(“Clicked”);
});
btn.attachEvent(“onclick”, function(){
alert(“Hello world!”);
});

当添加多个handler到一个dom对象时,执行顺序和他们定义的顺序相反。

preventDefault() 取消事件,前提是event的cancelable必须设为true
stopPropagation()停止冒泡。
分享到:
评论

相关推荐

    javascript事件模型

    JavaScript 事件模型是Web开发中的核心概念,它定义了如何处理和响应用户或浏览器的交互。ECMAScript规范中的ECMA-357是与事件处理相关的一部分,它提供了JavaScript中处理事件的标准。 事件流是JavaScript事件模型...

    javascript事件模型代码

    JavaScript事件模型是JavaScript编程中处理用户交互和状态变化的核心机制。事件模型允许程序在特定条件满足时执行预定的代码,比如用户点击按钮、页面加载完成或数据发生变化等。本节将详细探讨JavaScript事件处理...

    javascript事件模型实例分析

    JavaScript事件模型是前端编程中处理用户交互的核心机制,它允许开发者对用户触发的行为做出响应。在JavaScript中,事件模型经历了几个发展阶段,目前以DOM2级事件模型为主流,其定义了事件捕获和事件冒泡两个阶段。...

    javascript的三种事件模型.docx

    JavaScript 事件模型是网页交互的核心机制,允许JavaScript代码在特定的用户操作或系统事件发生时执行。本文主要探讨了JavaScript中的三种事件模型,这些模型与不同的浏览器和DOM版本有关。尽管存在差异,但通过一些...

    javascript大事模型介绍_.docx

    JavaScript事件模型是编程中至关重要的概念,特别是在网页交互和用户界面设计中。本文将详细介绍三种主要的事件模型:原始事件模型、DOM2事件模型以及IE事件模型,并探讨它们的差异和使用方法。 首先,原始事件模型...

    【ASP.NET编程知识】ASP.NET的事件模型(很适合学习的文章).docx

    ASP.NET 事件模型详解 ...我们讨论了 ASP.NET 事件模型的生命周期、OnInit 和 OnLoad 方法的使用,以及 JavaScript 事件模型的三个阶段。希望本文能够帮助读者更好地理解 ASP.NET 和 JavaScript 事件模型的概念。

    js事件模型

    JavaScript事件模型是JavaScript编程中非常重要的一个概念,它涉及到网页交互和用户操作的响应机制。在JavaScript中,事件是用户或浏览器对网页进行某种操作时触发的特定行为,例如点击按钮、滚动页面等。理解并掌握...

    javascript事件查询综合

    在Web开发中,JavaScript事件模型允许开发者定义当特定事件(如点击、鼠标移动、键盘输入等)发生时应执行的代码。 一、事件和事件处理 JavaScript事件是指用户或浏览器执行的任何动作,如点击按钮、滚动页面或填写...

    扣代码工具 javascript事件 捕获者2.0.zip

    JavaScript事件模型分为三种不同的阶段:事件冒泡、事件捕获和目标阶段。在这个压缩包中,"扣代码工具"可能是一个用于理解和调试JavaScript事件处理的工具,特别关注事件捕获阶段。事件捕获是从最外层元素(文档)...

    简析JavaScript事件、以及捕获和冒泡

    事件驱动的编程模型使得JavaScript成为构建动态和响应式用户界面的理想选择。本文将深入探讨JavaScript事件机制,特别是事件的捕获和冒泡阶段。 首先,理解JavaScript事件的基础概念至关重要。事件是用户或浏览器在...

    事件模型探究及配套源码

    本文将深入探讨事件模型的各个方面,包括函数指针的进化、Java、.NET(C#)、DOM与JavaScript以及Flex和ActionScript3的事件模型。 首先,函数指针进化论讲述了编程中处理函数引用的方式如何演变。早期的编程语言中...

    网页模板——扣代码工具 javascript事件 捕获者2.0.zip

    JavaScript事件捕获机制是理解JavaScript事件处理模型的关键部分,它允许我们对页面上的元素进行响应,例如点击、鼠标移动或者键盘输入等。下面将详细阐述这两个主题。 首先,网页模板是一种预先设计的网页结构,...

    javascript事件模型介绍

    一、原始事件模型 其事件类型:分为”输入事件(如onclicki)”和”语义事件(如onsubmit)” 事件程序的注册可以以下几种方式: 1、JS代码作为HTML性质值 复制代码 代码如下:<input type=”button” value=”Press me...

    javaScript对象模型与事件处理借鉴.pdf

    JavaScript 对象模型与事件处理 JavaScript 对象模型是指在 JavaScript 中描述对象之间的层次关系的模型。该模型可以将对象分为核心部分、浏览器对象模型和文档对象模型三个组成部分。核心部分主要包括 JavaScript ...

    JavaScript事件机制详细研究

    事件机制的原理是基于浏览器的事件模型,分为两种:冒泡型和捕获型。冒泡型的事件从最具体的元素开始触发,逐步向上冒泡到最顶层的元素;捕获型的事件从最顶层的元素开始捕获,逐步向下捕获到最具体的元素。 在 ...

    Javascript Event Handlers.zip

    JavaScript事件处理器是JavaScript编程中的核心概念,用于处理用户与网页之间的...理解事件模型、各种事件处理器的绑定方式、事件处理顺序以及如何优化事件处理,对于提升用户体验和编写高效JavaScript代码至关重要。

    JavaScript对象模型-执行模型

    JavaScript对象模型(Object Model)和执行模型是理解...在实际开发中,利用原型链实现继承、通过构造函数和原型方法创建对象、以及掌握执行模型中的上下文切换和事件循环机制,都是提升JavaScript编程能力的重要步骤。

Global site tag (gtag.js) - Google Analytics