DOM的事件处理、Windows的常用事件

目录

一、BOM

1、BOM

2、DOM和BOM的区别

二、DOM的事件处理

1、事件三要素

2、JavaScript中绑定事件(注册事件)的方式

(1)传统方式

(2)事件监听方式

3、JavaScript中删除事件的方式

(1)传统方式

(2)标准浏览器方式

4、事件流

5、事件对象

6、事件对象的常用属性方法

(1)e.target和this的区别

(2)事件委托

7、鼠标事件

(1)在页面中屏蔽鼠标右键快捷菜单

(2)禁止鼠标选中

8、鼠标事件对象

(1)鼠标的位置

(2)练习:鼠标移动时显示鼠标指针的坐标

9、键盘事件

10、键盘事件对象

练习:按下S键,搜索框被选中

三、Windows的常用事件

1、键盘事件对象

练习:输入快递单号,在输入框上方放大输入内容

2、调整窗口大小的事件

练习:当窗口大小发生改变,弹出提示消息框

3、定时器

(1)setTimeout(fn,间隔时间)

(2)setInterval(fn,间隔时间)

(3)clearTimeout(定时器)

(4)clearInterval(定时器)

练习:创建倒计时程序


一、BOM

1、BOM

BOM(Brower Object Model):浏览器对象模型。独立于内容和浏览器进行交互的对象。核心是window对象

2、DOM和BOM的区别

(1)DOM(Document Object Model):文档对象。把文档看做对象,顶级对象(核心对象)是document。

(2)BOM(Brower Object Model):浏览器对象模型。把浏览器看做对象,顶级对象(核心对象)是window。

二、DOM的事件处理

1、事件三要素

事件三要素:(1)事件源:触发事件的对象;(2)事件类型:出发了什么样类型的事件;(3)事件处理程序:事件被触发后执行的函数(程序段)

2、JavaScript中绑定事件(注册事件)的方式

(1)传统方式

传统方式:注册的事件具有唯一性(同一个元素同一个事件只能设置一个处理函数),若同一个元素同一个事件设置多个处理函数,则最后的处理函数会覆盖前面的处理函数,仅执行最后一个处理函数。

元素对象名 . 事件 = 事件处理程序 eg:btn . onclick = function(){ }

<body>

    <button id = 'btn'> 确定 </button>
    <script>
        function f1(){
            alert('西安邮电大学')
        }
        
        let btn = document.querySelector('#btn')
        btn.onclick = f1
     
    </script>
</body>

(2)事件监听方式

事件监听方式:同一个对象的同一个事件可以绑定(注册)多个事件处理程序。按照绑定顺序依次执行。

DOM对象 . addEventListener(type,callback,[capture])

type:表示事件类型(不带on)。如click、load、mouseover

callback:表示事件处理程序。可以是函数名,也可以是匿名函数

[capture]:可选参数,默认值为false(表示以冒泡方式处理事件),true(表示以捕获方式处理事件)

A、函数名

<body onload="show()"><!--onload="show()" 方法二 -->

    <button id = 'btn'> 确定 </button>
    <script>
        
       /* (1)函数名 */
       function f3(){
            alert('西安邮电大学')
        }
        function f4(){
            alert('西北政法大学')
        }
       let btn = document.querySelector('#btn')
       btn.addEventListener('click',f3)
       btn.addEventListener('click',f4)
    </script>
</body>

B、匿名函数

<body>

    <button id = 'btn'> 确定 </button>
   <script>
/*(2) 匿名函数 */
       btn.addEventListener('click',function(){
        alert('西安邮电大学')
       })
       btn.addEventListener('click',function(){
        alert('西北政法大学')
       })
   </script>
</body>

3、JavaScript中删除事件的方式

(1)传统方式

DOM对象 . 事件名 = null

<body>

    <button id = 'btn'> 确定 </button>
    <script>

        /* 传统方式 */
        function f1(){
            alert('西安邮电大学')
        }        

        let btn = document.querySelector('#btn')
        btn.onclick = f1

       /* 删除事件 */     

       /* 1、传统方式,针对于传统注册 */
       btn .onclick = null       
    </script>
</body>

(2)标准浏览器方式

DOM对象 . removeEventListene(type,callback)

<body>
    <button id = 'btn'> 确定 </button>
    <script>               
       /* 事件监听方式 */
       /* (1)函数名 */
       function f3(){
            alert('西安邮电大学')
        }
        function f4(){
            alert('西北政法大学')
        }
       let btn = document.querySelector('#btn')
       btn.addEventListener('click',f3)
       btn.addEventListener('click',f4)
    
   
       /* 删除事件 */       
       /* 2、准浏览器方式 */
       btn.removeEventListener('click',f3)
       btn.removeEventListener('click',f4)
    </script>
</body>

4、事件流

事件流:是指当时间发生时,会在发生事件的元素节点与DOM树根节点之间按照特定的顺序进行传播,这个过程称之为事件流

(1)网景(Netscape):采用事件捕获方式

(2)微软(Microsoft):采用冒泡方式

ÿ

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值