在HTML元素中内置了javascript事件。在web开发中javascript与html的交互都是通过HTML元素引发javascript事件进行的。事件流开发者认为,当有界面元素触发事件时,该元素的容器控件以及整个页面都按照特定顺序响应该元素触发的事件,事件发生顺序就是事件流。
不同浏览器支持的事件流不同,有3种基本的事件流,即:冒泡型事件流(Dubbed Bubbling)、捕获型事件流(Event Capturing)和DOM事件流。
1.冒泡型事件(Dubbed Bubbling)
IE提供的事件流就是冒泡型事件流,其核心思想是依照触发事件的控件的父控件的层级顺序依次触发,即事件由明确的事件源到最不确定的事件源依次触发。最不确定的事件源一定是document对象。
2.捕获型事件流(Event Capturing)
其核心思想是,依照触发事件的控件的根节点依次触发,直到触发明确的事件源对象。捕获型事件流和冒泡型事件流顺序正好相反,是从最不明确的事件源依次触发,直到触发到特定事件源事件。
下图为冒泡型事件流和捕获型事件流的代码图示:
3.DOM事件流
这个事件流是W3C制定的一个标准规范,它同时支持上述两种事件流模式,不过是先发生捕获型事件流,再发生冒泡型事件流。DOM事件流最独特的是支持文本节点也触发事件(似乎没什么用)
在进行复杂Web前端i编程时,经常会用到为DOM元素绑定事件。用javascript可以很方便操作DOM对象,为对象设置更重属性,绑定各种事件。
为DOM元素绑定事件的方法有三种:
1.在HTML元素中直接写事件处理方法:
<input id="txtName" type="text" onclick="showModel()" />
2.为DOM的“on+事件名”属性赋值,这种方法只能为事件绑定一个处理方法
var name = document.getElementById('txtName');
name.onclick = function() {
showModel();
}
3.使用eleObj.attachEvent('on'+evenType, handler)(IE)
或者eleObj.addEventListener(eventType, handler, useCapture)(标准浏览器)
这种方式可以为一个事件绑定多个处理方法。这些方法的触发执行顺序在不同浏览器上表现不同。在标准浏览器上是顺序执行,而在IE浏览器上是逆序执行的。
- 大小: 14.2 KB
分享到:
相关推荐
总结,JavaScript事件流是理解DOM中事件处理的关键,它决定了事件处理程序何时以及如何被调用。了解事件流有助于优化事件处理,避免不必要的事件处理和提高性能。通过合理利用事件流,开发者可以创建更加高效和用户...
事件流是JavaScript事件模型的核心部分,描述了事件如何在DOM(Document Object Model)层次结构中传递。主要有两种事件流模型:冒泡型和捕获型。冒泡型事件从最具体的节点(例如,文档中的一个元素)开始,然后逐级...
- **事件处理函数**:定义函数来响应特定的事件,这些函数可以访问和修改事件对象以及周围环境。 - **鼠标和键盘事件**:通过上面提到的事件类型实现用户与页面的交互。 - **表单相关事件**:利用表单事件改进用户...
本节将详细探讨JavaScript事件处理模式以及用户事件接口的定义。 1. 事件处理模式 事件处理模式基于观察者模式,它允许对象监听其他对象的状态变化并作出反应。在这个模式中,"消息"(通常是一个函数)负责传播...
本文将详细解析一系列重要的JavaScript表单事件,包括它们的功能、触发条件以及应用场景。 ### 一、onabort `onabort`事件在文件或图像加载过程中被用户中断时触发。它主要适用于那些可能因为网络问题或用户操作而...
在实际项目中,还需要考虑性能优化,例如使用节流或防抖函数来减少滚动事件的触发频率,避免频繁的DOM操作。 总的来说,JavaScript瀑布流和吸顶效果是网页动态布局的重要技术,结合适当的兼容性处理,可以在各种...
JavaScript事件有两种事件流:冒泡和捕获。事件从最具体的节点(文档中的元素)开始,然后向上遍历到最不具体的节点(文档)。这种模式称为冒泡。相反,事件捕获是从最不具体的节点开始,向下到达最具体的节点。可以...
在Web开发中,JavaScript事件是实现用户界面交互的核心机制。通过JavaScript与HTML之间的交互,可以响应用户的操作,如点击、按键、页面加载等各种行为。为了处理这些交互,需要对事件流、事件处理程序及事件对象有...
通过这个工具,你可以看到事件监听器的注册情况,跟踪事件流,以及在不同阶段中断事件的执行,这对于调试复杂的事件处理逻辑非常有用。 在实际开发中,事件捕获常用于提前准备或阻止事件,例如在父元素上设置事件...
JavaScript工作流是编程实践中一种组织和管理代码流程的方法,它涉及到如何高效地处理异步操作、任务调度和代码模块间的协作。在JavaScript开发中,工作流可以帮助开发者保持代码的整洁和可维护性,同时提高生产力。...
在工作流设计器中,JavaScript负责逻辑控制、事件处理和用户交互,比如拖放功能、图形操作和数据验证等。 VML(Vector Markup Language)是一种用于创建矢量图形的XML格式,主要用于老版本的Internet Explorer...
- **前端部分**:用户在浏览器中操作Xiorkflow的JavaScript界面,创建和编辑工作流。这些操作被转化为JSON格式的数据,通过Ajax技术发送到服务器。 - **后端部分**:服务器端的Java应用接收并解析前端发送的JSON...
总结来说,学习JavaScript事件流和事件处理程序,需要掌握事件流的概念,理解事件捕获和事件冒泡的区别与联系,以及正确使用HTML事件处理程序和JavaScript指定的事件处理程序,包括DOM0级和DOM2级事件处理方法。...
JavaScript瀑布流布局是一种常见的网页设计技术,主要用于展示内容如图片、文章等,使得这些内容能够以多列并排的方式自适应地填充页面空间,形成一种类似瀑布的效果,即新行的顶部与前一行的底部对齐。在这个...
总的来说,使用JavaScript实现工作流需要理解状态机的概念,熟练掌握SVG图形绘制,以及利用事件驱动编程来控制流程。结合SVGView.exe和azSVGWORKFLOW,我们可以构建出一个可视化的,用户可以自由定制的工作流管理...
3. **JavaScript基础知识**:理解DOM操作,如获取元素(getElementById, querySelectorAll等)、添加和删除样式、以及事件监听等,这些都是实现瀑布流布局的基础。 4. **计算列数**:根据屏幕宽度和每个元素的宽度...
本文将深入探讨JavaScript事件的捕获/冒泡阶段,DOM事件流,以及如何在实际应用中处理兼容性问题。 1. 事件捕获与冒泡阶段: - **事件捕获**:事件从最外层的document开始,向下逐级传递到最具体的元素(事件的...
Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它以其高效、非阻塞I/O以及对事件驱动模型的优秀支持而闻名。在处理大量并发连接时,Node.js能充分利用CPU资源,实现高效的性能。"Node.js的CPU使用流和事件...
### JavaScript事件机制详解 #### 一、事件绑定方式 在JavaScript中,事件绑定是指将一个事件处理函数与...理解和掌握事件绑定的不同方式、事件的三要素以及事件流的过程对于编写高效、可靠的Web应用程序至关重要。
例如,我们可能会有`drawWorkflow()`方法用于初始化和绘制工作流图,`updateWorkflow()`用于更新已存在的流程,以及`attachEventHandlers()`用于绑定用户交互事件,如点击节点、拖动连接线等。 此外,事件驱动编程...