美文网首页
DOM(2) 事件操作

DOM(2) 事件操作

作者: JessWang | 来源:发表于2018-07-04 16:28 被阅读15次

1.事件

    通过鼠标、键盘对浏览器页面所做的动作就是事件.

    事件一旦发生需要有时间处理,该处理称为'事件驱动',事件驱动通常由函数担任.

    onclick: 鼠标点击  onmouseover: 鼠标移入 onmouseout: 鼠标移出

    onkeyup: 键盘按下并抬起 onkeydown:键盘按下 onchange: 内容改变  onblur: 失去焦点

    onfocus: 获得焦点  onsubmit: 表单提交

2. 设置事件

    2.1  dom 1级方式设置

    ① <input type="text" onclick="函数名称()">

            function 函数名称(){this[window]}

    ② <input type="text" onclick="过程代码 this[itnode]">

    ③ itnode.onclick = function(){this[itnode]}

    ④ itnode.onclick = 函数名称; function 函数名称(){this[itnode]}

    取消dom 1级事件

    itnode.onclick = null;

    以上是dom1级事件设置的4种方式,this关键字除了第一种其代表window对象,其他三种都代表事件节点对象本身.

    2.2 dom2级方式事件设置

    1) 主流浏览器方式(包括IE9以上版本浏览器)

        itnode.addEventListener(事件类型,事件处理[,事件流]); //设置

        itnode.removeEventListener(事件类型,事件处理,[,事件流]); //取消

    2) IE浏览器方式(IE6/7/8)

        itnode.addachEvent(事件类型,事件处理); //设置

        itnode.detachEvent(事件类型,事件处理); 取消

    事件类型: 就是我们可以设置的具体事件.例如onclick等

                    主流浏览器方式没有on标志,例如addEventListener('click',...)

                    IE浏览器方式有'on'标志

    事件处理: 事件驱动,可以是一个有名/匿名函数  例如 addEventListener('click',function(){}/有名函数)

    事件取消操作具体要求:

        1. 事件处取消必须是有名函数,不可以是匿名函数

        2. 事件取消的参数与绑定参数完全一致

dom2级事件设置的特点

    1. 可以为同一个对象设置多个同类型事件

    2. 事件取消也非常灵活

    3. 对事件流也有很好的处理 

3. 事件流

    多个彼此嵌套元素,他们拥有相同的事件,最内部元素事件被处罚后,外边多个元素的同类型事件也会被触发,多个元素他们同类型事件同时执行的效果称为"事件流"

    事件流分为两种类型:

        冒泡型: 事件从内部网外部依次执行

        捕捉型: 事件从外部往内部依次执行

IE9之后支持两种事件流,IE9之前只支持冒泡型

4. 事件对象

每个事件触发执行过程中,都有对应的事件对象,通过事件对象可以获得鼠标相对页面坐标信息,也可以感知什么键子被触发执行、通过事件对象还可以阻止事件流残生,阻止浏览器默认动作

    4.1 获取事件对象

        1. 主流浏览器 以及 IE9以上

            事件处理函数的第一个形参就是事件对象

            node.onclick=function(evt){evt就是事件对象}

            addEventListener(类型,function(evt){}/函数名);evt就是事件对象

        2.IE9以下

                 node.onclick=function(evt){window.event事件对象}

                  全局变量的直接上级就是window

    4.2 事件对象作用

        1) 获取鼠标的坐标信息

            event.clientX/clientY //相对dom区域的坐标

            event.pageX/PageY //相对dom区域的坐标,考虑滚动条的距离

            event.screenX/screenY //相对屏幕坐标

        2) 阻止事件流

            event.stopPropagation() //主流浏览器

            window.event.cancelBubble = true // IE9以下

            为了阻止有意义,只考虑冒泡型

        3)阻止浏览器默认动作

            浏览器默认动作,注册form表单页面,提交表单的时候,浏览器的页面会根据action属性值进行跳转,这个动作成为"浏览器默认动作".

            event.preventDefault() //主流浏览器

            event.returnValue = false //IE9以下

            return false //dom 1级事件设置起作用

        4) 感知被触发键盘键子信息

            event.keycode 获得键盘对应的键值码信息,通过事件触发时候获得的keyCode 数值码信息可以对应键盘的毽子信息.

5. 加载事件 onload

    js代码执行的时候,需要html&css的支持,就让html代码限制性(先进入内存),js代码后执行

    js代码在最好执行的过程就是"加载过程",通常通过"加载事件"实现加载过程

    加载事件onload可以保证js代码后于html&css执行.

    <body onload="加载函数()">

    window.onload = 匿名/有名 函数: //推荐

相关文章

  • DOM(2) 事件操作

    1.事件 通过鼠标、键盘对浏览器页面所做的动作就是事件. 事件一旦发生需要有时间处理,该处理称为'事件驱动',...

  • addEventListener与attachEvent区别

    DOM2级事件处理程序 DOM2级事件定义了两个方法用于处理指定和删除事件处理程序的操作: addEventLis...

  • 原生事件对象

    事件对象: 每当触发事件时,就会产生一个事件对象(不管是DOM 0 还是DOM2 都有事件对象)[ 事件对象操作的...

  • 前端html基础(包括dom,事件等)

    六。事件操作 1.事件参考2.DOM 的操作方法3.原生JS获取HTML DOM元素的8种方法4.Javascri...

  • Day26-js3

    1、DOM操作 2、事件绑定和事件冒泡 3、小知识 3、正则对象 4、表单对象

  • DOM事件

    DOM事件、事件冒泡、捕获、代理 1. 什么是事件 2. 常用的事件 onclick:当点击时操作 onchang...

  • DOM0和DOM2级事件简单理解

    关于DOM0 和DOM1级事件可以简单理解为:事件分为DOM 0级事件和Dom 2级事件,DOM2级事件也叫做事件...

  • DOM操作&事件操作

    1.写一个函数,批量操作 css 2.如何获取 DOM 计算后的样式 window.getComputedStyl...

  • dom事件

    DOM事件的级别 1.DOM0事件,onclick 仅能定义一个事件 2.DOM2事件 useCapture--默...

  • 2018-10-08 jQuery功能概括

    1、html的元素选取; 2、html的元素操作; 3、html dom遍历和修改; 4、html事件操作; 5、...

网友评论

      本文标题:DOM(2) 事件操作

      本文链接:https://www.haomeiwen.com/subject/vxvjuftx.html