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

JS事件小结1

阅读更多

1.事件流:描述的是从页面接收事件的顺序。

 

IE是事件冒泡流:事件开始时由最具体的元素接收,然后逐级向上传播到不具体的节点。

Safari,Chrome,Firefox,Opera会将事件一直冒泡到window对象。

Netscape是事件捕获流 :在事件到达预定目标之前捕获它。

Safari,Chrome,Firefox,Opera支持这种事件流模型,从window对象开始捕获事件。

 

DOM2级事件:首先发生事件捕获,为截获事件提供了机会。然后是实际的目标接收到事件。最后是事件冒泡阶段。

Safari,Chrome,Firefox,Opera会在捕获阶段触发事件对象,结果会有两个机会在目标对象上面操作事件

 

2.事件处理程序

 

HTML事件处理

 

<input type="button" value="click" onclick="alert('aaa')" /> 

 缺点:1.在不能执行时触发事件,会出错 2.HTML与JS紧密耦合

DOM0级事件处理

  btn.onclick = function(){ alert(this.id); };//MyBtn

  DOM0级方法指定的事件处理程序为元素方法。即程序中this指向当前btn元素。

 

DOM2级事件处理

addEventListener()

removeEventListener()

两者皆接收三个参数

      要处理的事件名(不带on)

      作为事件处理的函数

      boolean:true 在捕获阶段调用事件处理;false 在冒泡阶段调用事件处理

移除事件时参数应与添加事件的参数一致,当使用匿名函数时无法移除事件。

 

var btn = document.getElementById("MyBtn");
btn.addEventListener("click", fun, false);
btn.removeEventListener("click", fun, flase);
//这样移除事件才有效,若是写成匿名函数则无法移除

IE事件处理

attachEvent()

detachEvent()

皆有两个参数

      事件处理程序名称(带on)

      事件处理函数

移除事件时参数应与添加事件的参数一致,当使用匿名函数时无法移除事件。

可以为一个元素添加多个事件,但是与DOM2时间相反,事件按着添加顺序的相反顺序触发。

事件处理程序在全局作用域中进行:this=window

 

3.事件对象

在触发DOM上的某个事件时,会产生事件对象event,包括导致事件的元素,事件的类型,以及其他与特定事件相关的信息。(如:鼠标事件导致的event会包含鼠标位置的信息)

 

DOM中的事件对象

在事件处理程序内部,对象this始终等于currentTarget(其事件处理程序当前正在处理的那个元素),而target则只包含事件的实际目标。

处理多个事件时可以使用type属性

阻止特定时间的默认行为,用preventDefault();

stopPropagation()立即停止事件在DOM层次的传播。

eventPhase属性可以用来确定事件当前处于事件流的哪个阶段。捕获=1;处于目标对象上=2;冒泡阶段=3

 

IE中的事件对象

访问IE中的event对象有几种不同的方式,取决于指定事件处理程序的方法。

DOM0级方法添加事件处理程序时,event作为window对象的的属性。

若用attachEvent()添加,则有一个event对象作为参数被传入到处理函数中。

var btn = document.getElementById("MyBtn");
btn.attachEvent("onclick", fucntion(event){
     alert(event.type);
});

因为事件处理程序是根据指定方式来确定的,所以不能认为this会始终等于事件目标,最好用event.srcElement属性。

returnValue属性==preventDefault()方法,设置为false,就可以阻止默认行为。

cancelBubble属性==stopPropagation()方法,不过只能取消事件冒泡,因为IE不支持捕获事件。

分享到:
评论

相关推荐

    JavaScript事件学习小结(五)js中事件类型之鼠标事件

    JavaScript事件学习小结(五)js中事件类型之鼠标事件 //www.jb51.net/article/86259.htm JavaScript事件学习小结(一)事件流 //www.jb51.net/article/86261.htm javaScript事件学习小结(四)event的公共成员...

    JavaScript事件学习小结(一)事件流

    标题中的"JavaScript事件学习小结(一)事件流"指的是JavaScript中的事件处理机制,特别是事件流的概念。事件流描述了在DOM(文档对象模型)中事件如何从根节点传播到具体的元素节点。在JavaScript中,事件是用户与...

    JS个人小结

    将上传的图片添加防伪图片水印,并将图片直接写入数据库,不...js遇到的问题--转义字符。。FileUpload控件上传资源,需要在本地选择资源时为一个文本框赋值,js判断上传图片格式。。只能输入数字与英文,指定位数小数

    JavaScript键盘事件测试小结

    JavaScript 键盘事件是网页开发中非常重要的一个部分,它允许开发者监听用户的键盘输入并做出相应的响应。在本文中,我们将深入探讨JavaScript键盘事件的测试总结,主要关注各种浏览器(如IE、Firefox、Safari和...

    一些主流JS框架中DOMReady事件的实现小结

    标题所指的知识点是主流JavaScript框架对DOMReady事件的处理方式。DOMReady事件指的是在DOM树构建完成之后立即触发,而不需要等待图片、脚本、样式表等其他资源加载完毕。这一点对于提高用户体验尤为重要,因为在...

    JavaScript初学小结

    JavaScript初学小结 在IT领域,JavaScript是一种广泛使用的编程语言,主要用于网页和网络应用的开发。这篇小结将深入探讨JavaScript的基础知识,包括语法、数据类型、控制结构、函数、对象以及它在实际开发中的应用...

    JS获取文件大小方法小结

    JavaScript(简称JS)是一种广泛用于网页和网络应用的编程语言,尤其在客户端脚本中扮演着重要角色。本文主要探讨了三种不同的JS方法来获取文件大小,这些方法主要适用于浏览器环境,尤其是Internet Explorer。 ...

    javascript课程内容总结

    JavaScript 课程内容总结 JavaScript 是一种广泛应用于网页开发的编程语言,以下是 JavaScript 的基础知识点总结。 数据类型 在 JavaScript 中,数据类型包括字符串(string)、数值型(number)、布尔型...

    JS 控件事件小结

    概述: 事件对于控件来说至关重要,控件的消息通信机制使用事件的成本最低,但是对于JS控件来说有一些麻烦需要解决,JS类本身不支持事件,DOM模型支持的事件仅适应于浏览器的DOM节点。所以创建一套事件是我们写控件...

    javascript div小结

    在这个`javascript div小结`中,我们将深入探讨JavaScript如何与`div`元素交互,包括选择、操作、动态创建以及CSS样式修改等关键知识点。 首先,我们可以通过JavaScript的DOM(Document Object Model)接口来获取和...

    JavaScript作用小结.doc

    ### JavaScript作用小结 #### 一、创建脚本块 在HTML文档中嵌入JavaScript时,最常用的方式是使用`&lt;script&gt;`标签。这可以使开发者能够编写并包含一段JavaScript代码。 1. **基本语法** ```html ...

    JavaScript事件学习小结(二)js事件处理程序

    在JavaScript事件学习小结(二)中,主要探讨的是如何处理这些事件,即事件处理程序。事件处理程序是当特定事件发生时执行的函数,如用户点击按钮或页面加载完成。以下是关于JavaScript事件处理程序的详细解释: 1. *...

    js 事件小结 表格区别

    一般事件 事件 浏览器支持 描述 onClick HTML: 2|3|3.2|4Browser: IE3|N2|O3 鼠标点击事件,多用在某个对象控制的范围内的鼠标点击 onDblClick HTML: 2|3|3.2|4Browser:IE4|N4|O 鼠标双击事件 onMouseDown ...

    页面常用的JS脚本小结

    JavaScript,简称JS,是网页开发中不可或缺的一部分,主要用于实现页面的动态效果和交互性。这里我们来详细探讨一下"页面常用的JS脚本"这一主题,以及如何利用它们提升用户体验。 1. **DOM操作**:JavaScript通过...

    JavaScript学习小结(一)——JavaScript入门基础

    1.1、JavaScript是基于对象和事件驱动的(动态的)  它可以直接对用户或客户输入做出响应,无须经过Web服务程序。它对用户的响应,是采用以事件驱动的方式进行的。所谓事件驱动,就是指在主页中执行了某种操作所产生...

    Pure JS (7):小结

    标题中的“Pure JS (7):小结”表明这是一篇关于JavaScript编程的系列教程的第七部分,重点在于总结前面几部分所讲解的核心概念和技巧。JavaScript,也称为JS,是一种广泛用于网页和网络应用的脚本语言,尤其在前端...

    js下关于onmouseout、事件冒泡的问题经验小结.docx

    ### JavaScript 下关于 `onmouseout` 与事件冒泡的问题经验小结 #### 一、引言 在前端开发过程中,事件处理是不可或缺的一部分。其中,`onmouseout` 事件和事件冒泡机制尤为关键,它们涉及到用户交互以及页面元素...

    javascript知识小结

    如果JavaScript文件存储为`.js`扩展名的外部文件,我们可以在`&lt;head&gt;`标签内使用`文件名"&gt;&lt;/script&gt;`引入,这样可以提高页面加载速度,因为脚本的下载和执行可以与页面渲染并行。 `Window`对象是JavaScript中的顶级...

Global site tag (gtag.js) - Google Analytics