- JavaScript与HTML之间的交互是通过事件来实现的
-
JavaScript的Event对象详解
属性 类型
描述 type String 事件的类型,如onlick中的click srcElement/target 事件源,就是发生事件的元素 button 声明被按下的鼠标键,整数,1代表左键,2代表右键,4代表中键,如果按下多个键,酒把这些值加起来,所以3就代表左右键同时按下;(firefox中 0代表左键,1代表中间键,2代表右键) clientX/clientY 事件发生的时候,鼠标相对于浏览器窗口可视文档区域的左上角的位置(在DOM标准中,这两个属性值都不考虑文档的滚动情况,也就是说,无论文档滚动到哪里,只要事件发生在窗口左上角,clientX和clientY都是 0,所以在IE中,要想得到事件发生的坐标相对于文档开头的位置,要加上
document.body.scrollLeft和 document.body.scrollTop)offsetX,offsetY/layerX,layerY 事件发生的时候,鼠标相对于源元素左上角的位置 x,y/pageX,pageY 检索相对于父元素鼠标水平坐标的整数 altKey,ctrlKey,shiftKey等 返回一个布尔值 keyCode 返回keydown何keyup事件发生的时候按键的代码,以及keypress 事件的Unicode字符;(firefox2不支持 event.keycode,可以用 event.which替代 ) fromElement,toElement 前者是指代mouseover事件中鼠标移动过的文档元素,后者指代mouseout事件中鼠标移动到的文档元素; cancelBubble 一个布尔属性,把它设置为true的时候,将停止事件进一步起泡到包容层次的元素;(e.cancelBubble = true; 相当于 e.stopPropagation();) returnValue 一个布尔属性,设置为false的时候可以组织浏览器执行默认的事件动作;(e.returnValue = false; 相当于 e.preventDefault();) screenX、screenY 鼠标指针相对于显示器左上角的位置,如果你想打开新的窗口,这两个属性很重要 bubbles Boolean 表明事件是否冒泡 eventPhase Inetger 调用事件处理程序的阶段:1 捕获 2 目标 3 目标 currentTarget Element 事件处理程序当前正在处理的那个元素 target Element 事件的目标 defaultPrevente Boolean 为true表示已经调用了preventDefault() preventDefault() Function 取消事件的默认行为eg.取消单击<a>元素时导航到href指定的url。如果cancelable是true,可以使用这个方法 stopPropagation() Function 取消事件的进一步捕获或冒泡。如果bubbles为true可以调用这个方法。
-
事件流:从页面接受事件的顺序。动作,点击页面中的input元素
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <input type="button" value="点击我" id="my"/> </body> </html>
1)冒泡事件流,即事件由具体的元素接受,然后逐级向上传播到较为不具体的节点;input->body->html->document。2)不具体的节点应该更早接受到事件,而具体的节点应该最后接受到事件;document->html->body->input - "DOM2即事件"规定事件包括三个阶段:事件捕获阶段、处于目标阶段和事件冒泡。在DOM事件流中,实际的目标(<input>元素)在捕获阶段不会接受到事件。意味着捕获阶段从document->html->body。下一个阶段为处于目标阶段,于是事件在目标上发生,并且事件处理中被看成冒泡阶段的一部分。然后冒泡阶段发生,事件又传回文档。
- 事件就是用户或浏览器自身执行的某种动作,eg.click、load和mouseover。而响应时间的函数就做事件处理程序(或事件侦听器)。
- 通过addEventListener()添加的事件处理程序只能使用 removeEventListener()来移除;移除时传入的参数与添加处理程序是使用的参数相同,即addEventListener()添加的匿名函数将无法移除。eg.
function myClick(event){ alert(event.type); console.warn("event : ",event); this.removeEventListener("click",myClick,false); } var my = document.getElementById("my"); my.addEventListener("click",myClick,false); //在冒泡阶段处理实际 //my.addEventListener("click",myClick,true); //在捕获阶段处理实际
- 事件类型:焦点事件、鼠标事件、滚轮事件、文本事件、键盘事件、合成事件、变动(mutation)事件。.
- 变动(mutation)事件:当底层DOM结构发生变化时触发的事件
相关推荐
Javascript_事件处理,讲解了JAVASCRIPT事件开发中注意的事项,步骤,有条理的讲解
事件模型在JavaScript中分为两种类型:DOM事件模型(Document Object Model)和原生事件模型(如Node.js中的EventEmitter类)。DOM事件模型主要用于浏览器环境,原生事件模型则更多地用于服务器端Node.js应用。 2....
标题中的"threejs_opengl_javascript_js_ThreeJS_3d_"揭示了我们正在讨论的是一个与Three.js相关的项目,Three.js是一个基于WebGL的JavaScript库,用于在浏览器中创建和展示3D图形。WebGL是一种JavaScript API,它...
JavaScript的事件循环(Event Loop)是前端开发中的关键概念,它涉及到浏览器和Node.js环境中的异步执行。本文将深入探讨这一主题,帮助你更好地理解JavaScript的执行过程和浏览器的运行机制。 首先,JS是单线程的...
在这个场景中,我们关注的是一个名为"js_menu.rar_MENU._javascript_js_menu-collapsed.js_menu_front."的压缩包,它涉及到一个JavaScript实现的多级导航菜单。这个菜单可能是一个网页应用的核心组成部分,因为它...
这个名为"js.rar_javascript_js_js 农历_lunar"的压缩包包含了一个专门处理中国农历的JavaScript实例。在这个实例中,开发者仅用了一个文件就实现了农历的计算和展示功能,展现了JavaScript的强大灵活性和高效性。 ...
在这个名为"js_game.rar_game JavaScript _js小游戏"的压缩包中,包含了一个基于JavaScript开发的小游戏。游戏的设计目标是阻止红色方块逃出指定区域,玩家需要通过某种方式来圈住红色方块,确保其不会到达表格的...
- Node.js 使用事件驱动、非阻塞I/O模型,使其轻量且高效,特别适合数据密集型实时应用。 2. **CDN (Content Delivery Network)**: - CDN 是一种分布式网络服务,通过将静态内容(如 JavaScript 文件、CSS、图片...
"Debug_js.rar"这个压缩包显然提供了一些关于JavaScript调试的资源或工具,可能是为了帮助开发者更有效地定位和解决问题。在这个压缩包中,文件名"js调试"可能包含具体的调试教程或者示例代码。 在JavaScript调试中...
开发者可以利用JavaScript事件监听和处理机制,根据用户的操作(如点击按钮)来触发流程的下一步。 流程分类为“人事”,意味着这个流程设计是针对企业内部的人事管理流程,可能涉及到员工的个人信息、假期余额、...
在JavaScript中,API涵盖了DOM操作、BOM(浏览器对象模型)、事件处理、Ajax异步通信等众多功能。 在JavaScript中,DOM(文档对象模型)是HTML和XML文档的结构化表示,允许程序和脚本动态更新、添加、删除和改变...
JavaScript,简称JS,是一种广泛应用于Web开发的轻量级编程语言,特别适合于创建交互式网页和游戏。本文将深入探讨如何使用JavaScript开发一款小型游戏,这对于初学者来说是一个很好的学习项目。 首先,理解...
Three.js是一个流行的JavaScript库,专门用于在Web浏览器中创建3D图形。它允许开发者利用WebGL技术,为网页带来丰富的三维视觉体验。 【描述】"基于three.js的html5自动检测小程序" 描述了该项目的核心功能,即一个...
JS调试器是开发者的重要工具,它可以帮助我们定位并解决JavaScript代码中的错误,优化性能,以及理解代码运行过程。本资源“WT-JS_DEBUG”提供了一个内置多种加密函数库的JS调试器,使得开发者在调试过程中可以方便...
"arcgis_js_api"可能包含API的核心库文件,这是构建ArcGIS JavaScript应用程序的基础。在实际项目中,需要将这个库文件引入到HTML页面中,以便使用API的功能。 总结,ArcGIS JavaScript API 3.7是一个强大且全面的...
WT-JS_DEBUG工具是专为JavaScript开发者设计的一款调试利器,主要针对的是JavaScript代码的调试工作。1.8.3版本是其最新的更新,通常这样的更新会包含错误修复、性能优化和可能的新功能添加,旨在提升开发者的编程...
在给定的“js_page.rar”压缩包中,我们看到一系列与JavaScript相关的文件,特别是“js_aim_page.js”,“js_page_init.js”,以及“类似page_page.js”和“pagejs”。这些文件名暗示了它们可能包含用于创建交互式...
"human5aa_js"可能是指一个专门针对初学者或对JavaScript感兴趣的人设计的学习路径或者教程系列。 JavaScript的核心概念包括变量、数据类型、控制流(条件语句和循环)、函数、对象和数组等。变量在JavaScript中是...
JavaScript,简称JS,是一种轻量级的解释型编程语言,主要应用于Web开发,用于增加网页的交互性和动态功能。在本资源"JS.rar"中,包含的是一些常用的JavaScript网页广告代码,这些代码可以帮助开发者创建吸引用户的...
《simplyCountdown.js:构建优雅倒计时的JavaScript库》 在JavaScript的世界里,实现一个功能丰富的倒计时组件可以极大地提升用户体验。simplyCountdown.js是一个轻量级、易于使用的JavaScript库,专为创建各种倒...