js事件驱动机制

基本概念

js是采用事件驱动的机制来响应用户操作的,也就是说当用户对某个html元素进行操作的时候,会产生一个事件,该事件会驱动某些函数来处理。

事件驱动原理

事件源:产生事件的地方(html元素)
事件(名称):点击/鼠标操作/键盘操作等等
事件对象:当某个事件发生时,可能会产生一个事件对象,该事件对象会 封装好该事件的信息,传递给事件处理程序
事件处理程序:响应用户事件的代码

案例1:监听鼠标点击事件,并能够显示鼠标点击的位置x,y

<html>
    <head>
        <script>
            function test(e){
                window.alert("x="   e.clientX   "y="   e.clientY);
            }
        </script>
    </head>
    <body style="width: 100px; heigth: 80px; border: 1px solid red" onmousedown="test(event)"></body>
</html>

事件对象

event对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。

  • 什么时候会产生event对象?
  • 例如当用户点击某个元素的时候,我们给这个元素注册的事件就会触发,该事件的本质就是一个函数,而函数的形参接收一个event对象。
  • 事件通常与函数结合使用,函数不会再事件发生之前被执行
var btn = document.getElementById("myBtn");
btn.onclick = function(event) {
    alert(event.type); //"click"
}
btn.addEventListener("click", function(event) {
    alert(event.type); //"click"
}, false);

event.type属性表示事件类型。
event.currentTarget是事件处理程序当前正在处理事件的那个元素,返回绑定事件的元素,和this的作用差不多,始终返回绑定事件的元素。(事件委托返回绑定的父元素)
event.target返回触发事件的元素(可以用来事件委托)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值