4.dom元素——dom元素事件处理机制(事件流)

本文详细探讨了DOM元素的事件处理,包括获取/设置元素属性、添加事件、事件监听、事件冒泡与捕获机制、事件委托,以及鼠标和键盘事件对象。通过示例解释了如何使用addEventListener进行事件绑定,并讨论了如何阻止事件冒泡。
摘要由CSDN通过智能技术生成


原生js事件全部带on

dom元素事件:

1.window事件:onload onresize onreload onerror oncontentmenu onscroll
2.鼠标事件: onmouseenter onmouseleave(水平离开)
onmouseout(垂直+水平离开)
onmouseup onmousdown onclick
ondbclick onmousewheel onmouseover onmousemove
3.键盘事件:onkeydown onkeyup onkeypress
4.表单事件:onfocus(获焦) onblur(失焦) onsubmit onreset

1.获取/设置元素属性
  • 获取元素属性
<button id="but" onclick="fun1()" onmouseover="fun2()">按钮</button>

	 console.log(but.attributes);
     but.attributes.removeNamedItem("onmouseover");
     console.log(but.attributes.getNamedItem("onmouseover"));
  • 设置属性
	/*  第一种
	var args=document.createAttribute("onmousemove");
    args.nodeValue="fun2()";
    but.attributes.setNamedItem(args);
    */

	//第二种
    but.setAttribute("onmousemove",'fun2()');
2.dom元素添加事件

函数不传递this 函数内部的this 指window
如果传递this 函数内部的参数 指当前的对象

   <button id="but" onclick="fun1()">按钮</button>
   function fun1() {
   
       console.log("你点我", this);
   }

在这里插入图片描述

   <button id="but" onclick="fun1(this)">按钮</button>
   function fun1(args) {
   
       console.log("你点我", this);
   }

在这里插入图片描述

  • 直接在元素上直接绑定事件
<button id="but" onclick="fun1()" onmouseover="fun2()">按钮</button>

   function fun1() {
   
       console.log("你点我", this);
   }

   function fun2() {
   
       console.log("你悬停我");
   }
  • 动态绑定事件
   btn.onclick = function () {<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

致可乐

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

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

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

打赏作者

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

抵扣说明:

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

余额充值