美文网首页
DOM事件知识点

DOM事件知识点

作者: 念旧的阿蛮 | 来源:发表于2017-09-23 21:50 被阅读0次

这篇文章主要是总结一些DOM事件的基础知识点。

DOM事件的级别

dom事件级别.png

DOM3是鼠标 键盘这些事件

DOM事件模型

捕获和冒泡
捕获是从上到下 冒泡是从下到上

DOM事件流

分三个阶段
点击鼠标 -> 捕获 -> 目标阶段 目标对象 -> 冒泡

描述事件捕获的具体流程

window -> document ->html标签 ->body-> ...->目标元素

Event对象的常见应用

event.preverntDefault() 阻止默认行为
event.stopPropagation() 阻止冒泡事
event.stoplmmediatePropagation()
event.currentTarget 当前绑定的事件的对象
event.target 触发事件的目标对象

自定义事件

var eve = new Event('custome');
            var ev = document.getElementById('div');
            ev.addEventListener('custome',function(){
                console.log('custome')
            })

            ev.dispatchEvent(eve)

一些测试代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <style>
        #ev {
            width: 300px;
            height: 100px;
            background: red;
            color: #fff;
            text-align: center;
            line-height: 100px;
        }
    </style>
    <title>DOM事件代码示例</title>
</head>

<body>
    <div id="ev">
        目标元素
    </div>
    <script>
        // 捕获
        var ev = document.getElementById('ev');
        window.addEventListener('click', function () {
            console.log('window captrue')
        }, true) // false为箭头捕获  true为监听冒泡

        document.addEventListener('click', function () {
            console.log('document captrue')
        }, true)
        // html节点
        document.documentElement.addEventListener('click', function () {
            console.log('html captrue')
        }, true)
        document.body.addEventListener('click', function () {
            console.log('body captrue')
        }, true)

        ev.addEventListener('click', function () {
            console.log('ev captrue')
        }, true)

        // 冒泡
        var ev = document.getElementById('ev');
        window.addEventListener('click', function () {
            console.log('window bubbling')
        }, false) // false为箭头捕获  true为监听冒泡

        document.addEventListener('click', function () {
            console.log('document bubbling')
        }, false)
        // html节点
        document.documentElement.addEventListener('click', function () {
            console.log('html bubbling')
        }, false)
        document.body.addEventListener('click', function () {
            console.log('body bubbling')
        }, false)

        ev.addEventListener('click', function () {
            console.log('ev bubbling')
        }, false)


        // 自定义事件
        var eve = new Event('test');
        ev.addEventListener('test', function () {
            console.log('test dispatch')
        })
        // 触发自定义事件
        ev.dispatchEvent(eve);

        var eve1 = new CustomEvent('test1', {
            detail: {
                username: "davidwalsh"
            },
            bubbles: true,
            cancelable: false
        })

        ev.addEventListener('test1',function(e){
            console.log(e);
        })

       ev.dispatchEvent(eve1)
    </script>
</body>

</html>

相关文章

  • 前端知识点之DOM 事件类

    知识点:--DOM 事件的级别--DOM 事件模型和事件流--Event 对象的常见应用--自定义事件 DOM 事...

  • 30进阶:把 jQuery 加到简历里

    1. 无缝轮播 实现方法一: 知识点---1 知识点---2 知识点---3 2. DOM事件模型 DOM事件的开...

  • DOM事件知识点

    这篇文章主要是总结一些DOM事件的基础知识点。 DOM事件的级别 DOM3是鼠标 键盘这些事件 DOM事件模型 捕...

  • 第十周第三天笔记

    1 知识点复习 事件事件分为DOM0级事件和DOM2级事件DOM0级事件:oDiv.onclick=函数名/匿名函...

  • DOM事件的工作原理

    导读:本文是teren对DOM事件知识点所做的进一步整理,整理资料主要参考DOM事件简介和饥人谷课件,如果对DOM...

  • DOM事件知识点

    1、DOM事件 文档对象模型是一种与编程语言及平台无关的API(Application programming I...

  • JS DOM事件基础

    【知识点】 1、掌握什么是事件2、掌握HTML事件3、掌握DOM0级事件4、掌握常用的鼠标与键盘事件5、掌握thi...

  • 前端面试题(3)——DOM事件类

    基本概念:DOM事件的级别 DOM事件模型:事件冒泡事件捕获 DOM事件流 描述DOM事件捕获的具体流程 Even...

  • DOM事件

    DOM级别与DOM事件 DOM级别:DOM0级、DOM1级、DOM2级、DOM3级DOM事件:DOM0级事件处理、...

  • DOM事件

    DOM级别与DOM事件 DOM级别:DOM0级,DOM1级,DOM2级和DOM3级DOM事件:DOM0级事件处理,...

网友评论

      本文标题:DOM事件知识点

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