【web】JavaScript——Web APIs笔记小结 dom 样式属性(dom+事件)

  在学了在学了qwq 

每天都被周围的卷王带着卷orz  

  又又又鸽了一个多月没学习呜呜orz  

期末考成绩出了决定这学期痛改前非qwq  

 还有一周就蓝桥杯了qwq得赶紧收心学习了啊啊啊! 

来源:JavaScript基础语法-dom-bom-js-es6新语法-jQuery-数据可视化echarts

目录

⑥ 三种动态创建元素区别

※※ document.write()

※※ element.innerHTML和document.createElement()

I.DOM 重点核心

II.事件

① 注册事件(绑定事件)

※※ 传统和方法监听注册方式概述 

※※※※ addEventListener 事件监听方式(推荐)

※※※※ 代码

 ※※ attachEvent 注册事件(ie9前支持,不推荐用)

 ※※※※代码

② 删除事件

※※ 兼容性方案

※※ 代码

③ DOM 事件流 

※※ 理论部分

※※ 代码验证

 ※※※※ 完整代码

④ 事件对象

※※ 概念

※※ 使用语法

※※※※ 兼容性方案 

※※ 代码部分 

⑤ 常见属性和方法

※※ e.target 和this的区别 

※※※※ 返回的东西不同

 ※※※※ currentTarget

※※ 阻止默认行为

※※ 阻止事件冒泡

※※ 代码(两种方式) 

※※ 事件委托(代理、委派)

※※※※ 理论

※※※※ 代码

⑥ 常用鼠标事件

※※ 禁止右键菜单/选中文字 

※※ 鼠标事件对象

※※ 案例 跟随鼠标的天使(略过)

⑦ 常用键盘事件

※※ 类型

※※ 案例 模拟京东按键输入内容(略过)


⑥ 三种动态创建元素区别

这一部分建议看一下视频,个人感觉视频里的比较清晰owo

※※ document.write()

下面两种代码的效果相同

    <button>点击</button>
    <p>abc</p>
    <div class="inner"></div>
    <div class="create"></div>
    <script>
        window.onload = function() {
                document.write('<div>123</div>');
            }
        var btn = document.querySelector('button');
        btn.onclick = function() {
            document.write('<div>123</div>');
        }
    </script>
window.onload = function() {
    document.write('<div>123</div>');
}

※※ element.innerHTMLdocument.createElement()

创建少量元素差别不大,但多个元素时,innerHTML 效率更高

I.DOM 重点核心

dom的元素操作主要有创建、增、删、改、查、属性操作和事件操作

①创建 → document.write()innerHTMLcreateElement()

②增 → appendChildinsertBefore

③删 → removeChild

④改

⑤查

⑥属性操作

⑦事件操作

 忘了的戳这 → 增删,其他的可能在别的博客里Orz

II.事件

① 注册事件(绑定事件)

※※ 传统和方法监听注册方式概述 

※※※※ addEventListener 事件监听方式(推荐

※※※※ 代码

 ※※ attachEvent 注册事件(ie9前支持,不推荐用)

MCD上没搜到pink这个界面orz

 ※※※※代码

② 删除事件

※※ 兼容性方案

※※ 代码

DOM 事件流 

※※ 理论部分

  即:捕获 → 从上往下  ,冒泡 → 从下往上  

※※ 代码验证

 ※※※※ 完整代码

<!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">
    <title>Document</title>
    <style>
        .father {
            overflow: hidden;
            width: 300px;
            height: 300px;
            margin: 100px auto;
            background-color: pink;
            text-align: center;
        }
        
        .son {
            width: 200px;
            height: 200px;
            margin: 50px;
            background-color: purple;
            line-height: 200px;
            color: #fff;
        }
    </style>
</head>

<body>
    <div class="father">
        <div class="son">son盒子</div>
    </div>
    <script>
        // dom 事件流 三个阶段
        // 1. JS 代码中只能执行捕获或者冒泡其中的一个阶段。
        // 2. onclick 和 attachEvent(ie) 只能得到冒泡阶段。
        // 3. 捕获阶段 如果addEventListener 第三个参数是 true 那么则处于捕获阶段  document -> html -> body -> father -> son
        /*var son = document.querySelector('.son');
        son.addEventListener('click', function() {
            alert('son');
        }, true);
        var father = document.querySelector('.father');
        father.addEventListener('click', function() {
            alert('father');
        }, true); 
        */
        // 4. 冒泡阶段 如果addEventListener 第三个参数是 false 或者 省略 那么则处于冒泡阶段  son -> father ->body -> html -> document
        var son = document.querySelector('.son');
        son.addEventListener('click', function() {
            alert('son');
        }, false);
        var father = document.querySelector('.father');
        father.addEventListener('click', function() {
            alert('father');
        }, false);
        document.addEventListener('click', function() {
            alert('document');
        })
    </script>
</body>

</html>

④ 事件对象

※※ 概念

※※ 使用语法

※※※※ 兼容性方案 

※※ 代码部分 

<body>
    <div>123</div>
    <script>
        // 事件对象
        var div = document.querySelector('div');
        div.onclick = function(e) {
                // console.log(e);
                // console.log(window.event);
                // e = e || window.event;
                console.log(e);


            }
            // div.addEventListener('click', function(e) {
            //         console.log(e);

        //     })
        // 1. event 就是一个事件对象 写到我们侦听函数的 小括号里面 当形参来看
        // 2. 事件对象只有有了事件才会存在,它是系统给我们自动创建的,不需要我们传递参数
        // 3. 事件对象 是 我们事件的一系列相关数据的集合 跟事件相关的 比如鼠标点击里面就包含了鼠标的相关信息,鼠标坐标啊,如果是键盘事件里面就包含的键盘事件的信息 比如 判断用户按下了那个键
        // 4. 这个事件对象我们可以自己命名 比如 event 、 evt、 e
        // 5. 事件对象也有兼容性问题 ie678 通过 window.event 兼容性的写法  e = e || window.event;
    </script>
</body>

⑤ 常见属性和方法

※※ e.target this的区别 

※※※※ 返回的东西不同

e.target → 返回的是触发事件的对象 / 元素

this → 返回的是绑定事件的对象 / 元素

 ※※※※ currentTarget

与this很相似,都 指向实际绑定的事件

※※ 阻止默认行为

※※ 阻止事件冒泡

※※ 代码(两种方式) 

※※ 事件委托(代理、委派)

※※※※ 理论

※※※※ 代码

⑥ 常用鼠标事件

※※ 禁止右键菜单/选中文字 

※※ 鼠标事件对象

page常用,screen不常用

※※ 案例 跟随鼠标的天使(略过)

⑦ 常用键盘事件

※※ 类型

※※ 案例 模拟京东按键输入内容(略过)


  时间不够只能略过案例了呜呜呜,每周都在赶ddl啊啊啊  

  要准备开始刷题了呜呜  

  要努力卷起来啊! 

恭喜看到这的小伙伴,你已经完成 JavaScript DOM 部分的学习了~!!

 接下来我准备直接开始准备蓝桥杯了qwq,下周二还有个省赛选拔要打啊啊啊 

 祝我好运T^T 

有用的话欢迎点赞评论收藏哦嘿嘿嘿~ !

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的文文文

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值