`

JS_事件

 
阅读更多
  • 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事件开发中注意的事项,步骤,有条理的讲解

    JavaScript_事件驱动应用程序的低代码编程.zip

    事件模型在JavaScript中分为两种类型:DOM事件模型(Document Object Model)和原生事件模型(如Node.js中的EventEmitter类)。DOM事件模型主要用于浏览器环境,原生事件模型则更多地用于服务器端Node.js应用。 2....

    threejs_opengl_javascript_js_ThreeJS_3d_

    标题中的"threejs_opengl_javascript_js_ThreeJS_3d_"揭示了我们正在讨论的是一个与Three.js相关的项目,Three.js是一个基于WebGL的JavaScript库,用于在浏览器中创建和展示3D图形。WebGL是一种JavaScript API,它...

    面试率_90%_的_JS_事件循环看这篇就够了1

    JavaScript的事件循环(Event Loop)是前端开发中的关键概念,它涉及到浏览器和Node.js环境中的异步执行。本文将深入探讨这一主题,帮助你更好地理解JavaScript的执行过程和浏览器的运行机制。 首先,JS是单线程的...

    js_menu.rar_MENU._javascript_js_menu-collapsed.js_menu_front.

    在这个场景中,我们关注的是一个名为"js_menu.rar_MENU._javascript_js_menu-collapsed.js_menu_front."的压缩包,它涉及到一个JavaScript实现的多级导航菜单。这个菜单可能是一个网页应用的核心组成部分,因为它...

    js.rar_javascript_js_js 农历_lunar

    这个名为"js.rar_javascript_js_js 农历_lunar"的压缩包包含了一个专门处理中国农历的JavaScript实例。在这个实例中,开发者仅用了一个文件就实现了农历的计算和展示功能,展现了JavaScript的强大灵活性和高效性。 ...

    js_game.rar_game JavaScript _js小游戏

    在这个名为"js_game.rar_game JavaScript _js小游戏"的压缩包中,包含了一个基于JavaScript开发的小游戏。游戏的设计目标是阻止红色方块逃出指定区域,玩家需要通过某种方式来圈住红色方块,确保其不会到达表格的...

    unpkg_Node.js_nodejscdn_javascript_CDN_

    - Node.js 使用事件驱动、非阻塞I/O模型,使其轻量且高效,特别适合数据密集型实时应用。 2. **CDN (Content Delivery Network)**: - CDN 是一种分布式网络服务,通过将静态内容(如 JavaScript 文件、CSS、图片...

    Debug_js.rar_ jsdebug_debug js_javascript_js debug_js能debug

    "Debug_js.rar"这个压缩包显然提供了一些关于JavaScript调试的资源或工具,可能是为了帮助开发者更有效地定位和解决问题。在这个压缩包中,文件名"js调试"可能包含具体的调试教程或者示例代码。 在JavaScript调试中...

    js.rar_javascript_javascript 图_js_流程_请假

    开发者可以利用JavaScript事件监听和处理机制,根据用户的操作(如点击按钮)来触发流程的下一步。 流程分类为“人事”,意味着这个流程设计是针对企业内部的人事管理流程,可能涉及到员工的个人信息、假期余额、...

    JavaScript 语言参考_javascript_js_

    在JavaScript中,API涵盖了DOM操作、BOM(浏览器对象模型)、事件处理、Ajax异步通信等众多功能。 在JavaScript中,DOM(文档对象模型)是HTML和XML文档的结构化表示,允许程序和脚本动态更新、添加、删除和改变...

    js_game.rar_javascript_js 游戏_js游戏

    JavaScript,简称JS,是一种广泛应用于Web开发的轻量级编程语言,特别适合于创建交互式网页和游戏。本文将深入探讨如何使用JavaScript开发一款小型游戏,这对于初学者来说是一个很好的学习项目。 首先,理解...

    threejs-impact-checking_html+css_javascript_guidewdj_ThreeJS_

    Three.js是一个流行的JavaScript库,专门用于在Web浏览器中创建3D图形。它允许开发者利用WebGL技术,为网页带来丰富的三维视觉体验。 【描述】"基于three.js的html5自动检测小程序" 描述了该项目的核心功能,即一个...

    WT-JS_DEBUG 【JS调试器,自带各种加密函数库,可一键生成】

    JS调试器是开发者的重要工具,它可以帮助我们定位并解决JavaScript代码中的错误,优化性能,以及理解代码运行过程。本资源“WT-JS_DEBUG”提供了一个内置多种加密函数库的JS调试器,使得开发者在调试过程中可以方便...

    arcgis_js_v37_api

    "arcgis_js_api"可能包含API的核心库文件,这是构建ArcGIS JavaScript应用程序的基础。在实际项目中,需要将这个库文件引入到HTML页面中,以便使用API的功能。 总结,ArcGIS JavaScript API 3.7是一个强大且全面的...

    WT-JS_DEBUG工具 1.8.3 最新版本.没啥好说的.下吧

    WT-JS_DEBUG工具是专为JavaScript开发者设计的一款调试利器,主要针对的是JavaScript代码的调试工作。1.8.3版本是其最新的更新,通常这样的更新会包含错误修复、性能优化和可能的新功能添加,旨在提升开发者的编程...

    js_page.rar_js aim_page_js Page_Init_js 类似page_page.js_pagejs

    在给定的“js_page.rar”压缩包中,我们看到一系列与JavaScript相关的文件,特别是“js_aim_page.js”,“js_page_init.js”,以及“类似page_page.js”和“pagejs”。这些文件名暗示了它们可能包含用于创建交互式...

    JavaScript _ MDN_human5aa_js_

    "human5aa_js"可能是指一个专门针对初学者或对JavaScript感兴趣的人设计的学习路径或者教程系列。 JavaScript的核心概念包括变量、数据类型、控制流(条件语句和循环)、函数、对象和数组等。变量在JavaScript中是...

    JS.rar__s_2htm_javascript_js_js代码

    JavaScript,简称JS,是一种轻量级的解释型编程语言,主要应用于Web开发,用于增加网页的交互性和动态功能。在本资源"JS.rar"中,包含的是一些常用的JavaScript网页广告代码,这些代码可以帮助开发者创建吸引用户的...

    simplyCountdown.js-master_javascript_js_simplycountdown_

    《simplyCountdown.js:构建优雅倒计时的JavaScript库》 在JavaScript的世界里,实现一个功能丰富的倒计时组件可以极大地提升用户体验。simplyCountdown.js是一个轻量级、易于使用的JavaScript库,专为创建各种倒...

Global site tag (gtag.js) - Google Analytics