JS—事件

事件流:描述的是在页面接受事件的顺序

&事件冒泡:由最具体的元素接收,然后逐级向上传播至最不具体的元素的节点(文档)

&事件捕获:最不具体的节点先接收事件,而最具体的节点应该是最后接收事件

***********************

HTML事件处理:
  直接添加到HTML结构中

    <button id="btn" onclick="demo()">按钮</button>
    <script>
        function demo() {//函数名一旦改变,则需要改动两处
            alert("html事件处理");
        }
    </script>

DOM0级事件处理
  把一个函数赋值给一个事件处理程序属性

    <button id="btn">按钮</button>
    <script>
        var btn = document.getElementById("btn");
        btn.onclick = function() {
            alert("DOM0级事件处理");
        }
        btn.onclick = function() {
            alert("原事件被覆盖了!!");
            //DOM0级事件处理的缺点:存在多个事件,则最后一个事件会覆盖之前的事件
        }
        //btn.onclick=null;//清除事件
    </script>

DOM2级事件处理:
  addEventListener("事件名",“事件处理函数”,"布尔值");
  true:事件捕获
  false:事件冒泡
  removeEventListener();

    <button id="btn">按钮</button>
    <script>
        /* document.getElementById("btn").addEventListener("click", function() {
            alert("DOM2级事件处理程序");
        });
        document.getElementById("btn").addEventListener("click", demo);
        function demo() {
            alert("DOM2级事件处理程序");
        } */
        document.getElementById("btn").addEventListener("click", demo);
        function demo() {
            alert("DOM2级事件处理程序");
        }
        document.getElementById("btn").addEventListener("click", demo1);
        function demo1() {
            alert("DOM2级事件处理程序1");//优点:事件不会被覆盖~
        }
    </script>

@@@一个小的恶作剧:

    <button id="btn">按钮</button>
    <script>
        document.getElementById("btn").addEventListener("click", demo);
        function demo() {
            for ( var i = 0; i < 10000; i++) {
                alert("DOM2级事件处理程序");
            }
        }
    </script>

IE事件处理程序:
  attachEvent【相当于addEventListener】
  detachEvent【相当于removeEventListener】

兼容性处理有关:

    <button id="btn">按钮</button>
    <script>
        var btn = document.getElementById("btn");
        if (btn.addEventListener) {
            btn.addEventListener("click", demo);
        } else if (btn.attachEvent) {
            btn.attachEvent("onclick", demo);
        } else {
            btn.onclick = demo();
        }
        function demo() {
            alert("hello");
        }
    </script>
时间: 2024-07-28 19:34:20

JS—事件的相关文章

js事件冒泡和事件委托

js所谓的事件冒泡就是子级元素的某个事件被触发,它的上级元素的该事件也被递归执行 html: 1 <ul class="clearfix" data-type="cityPick"> 2 <li class="active_sort_opts" data-id="0">全部</li> 3 <li data-id="88">纽约</li> 4 <

特殊js事件

1:点击enter事件 $(document).keypress(function(e) { // 回车键事件 if(e.which == 13) { submitForm(); } }); 2:JQUERY表单ajax提交事件 1):添加js插件 2):添加js事件 function submitForm(){ $.ajax({ url:'${root}/doLogin', data:$('form').serialize(), dataType:'json', cache:false, ty

JS事件(事件冒泡和事件捕获)

事件流:描述的是在页面中接收事件的顺序 事件冒泡:由最具体的元素接收,然后逐级向上传播至最不具体的元素的节点(文档) 事件捕获:最不具体的节点先接收事件,而最具体的节点应该是最后接收事件 DOM中:用于处理指定和删除事件处理程序的操作addEventListener()和removeEventListener().他们都接收三个参数:要处理的事件名.作为事件处理程序的函数和布尔值(事件处理的时候)[true:事件捕获时;false:事件冒泡时] DOM中的事件对象: type属性 用于获取事件类

略谈js事件

 本人是这样从做学的js事件分成以下三个方面: 第一部分:浏览器的按键事件 用js实现键盘记录,要关注浏览器的三种按键事件类型,即keydown,keypress和keyup,它们分别对应onkeydown. onkeypress和onkeyup这三个事件句柄.一个典型的按键会产生所有这三种事件,依次是keydown,keypress,然后是按键释放时候的keyup. 在这3种事件类型中,keydown和keyup比较底层,而keypress比较高级.这里所谓的高级是指,当用户按下shift +

js事件的三个阶段

js事件的三个阶段分别为:捕获.目标.冒泡 1.捕获:事件由页面元素接收,逐级向下,到具体的元素 2.目标:具体的元素本身 3.冒泡:跟捕获相反,具体元素本身,逐级向上,到页面元素 IE5.5:div---body---document IE6.0:   div---body---html---document Mozilla:div---body---html---document---window 事件捕获:当使用事件捕获时,父级元素先触发,子元素后触发 事件冒泡:当使用事件冒泡时,子级元素

JS中的函数、Bom、DOM及JS事件

本期博主给大家带来JS的函数.Bom.DOM操作,以及JS各种常用的数据类型的相关知识,同时,这也是JavaScript极其重要的部分,博主将详细介绍各种属性的用法和方法. 一.JS中的函数 [函数的声明及调用] 1.函数声明的格式: function 函数名(参数1,参数2,参数3,--){//函数体 return 结果; } >>>函数的调用格式: 直接调用:函数调用的格式:函数名(参数一的值,参数二的值,--): 事件调用:事件名=函数名( ); 2.函数声明的几点强调: ①函数名

js事件对象坐标

js事件对象坐标---贴上代码 <body style="position:relative;width:100%;height:100%;padding:15px;margin:20px;"> <div style="position:absolute;top:100px;left:100px;width:500px;height:500px;padding:5px;margin:9px;background:#ddd;" onclick=&qu

JS的Touch事件们,触屏时的js事件

丫的,终于找到了JS在平板电脑上的事件!!! iphone.ipod Touch.ipad触屏时的js事件 1.Touch事件简介 pc上的web页面鼠标会产生onmousedown.onmouseup.onmouseout.onmouseover.onmousemove的事件,但是在移动终端如iphone.ipod Touch.ipad上的web页面触屏时会产生ontouchstart.ontouchmove.ontouchend.ontouchcancel事件,分别对应了触屏开始.拖拽及完成

Js事件大全

一般事件 事件 浏览器支持 描述  onClick IE3|N2|O3 鼠标点击事件,多用在某个对象控制的范围内的鼠标点击  onDblClick IE4|N4|O 鼠标双击事件  onMouseDown IE4|N4|O 鼠标上的按钮被按下了  onMouseUp IE4|N4|O 鼠标按下后,松开时激发的事件  onMouseOver IE3|N2|O3 当鼠标移动到某对象范围的上方时触发的事件  onMouseMove IE4|N4|O 鼠标移动时触发的事件  onMouseOut IE4

js事件浅析

js中关于DOM的操作很多,因此js事件机制也就尤为重要. 事件绑定形式: 一. 内联形式 耦合度高,不利于维护 <button onclick="alert('你点击了这个按钮');">点击这个按钮</button> 二. 属性绑定(DOM0级事件) 只能绑定一个函数 button.onclick = function() {}; 三. 事件监听函数(DOM2级事件) element.addEventListener(<event-name>, &