js复习二之事件

1、事件的传播
一个事件发生后,会在子元素和父元素之间传播。这种传播分为是三个阶段。

  • 第一阶段:从window对象传到到目标对象(上层传到底层),称为“捕获阶段”。
  • 第二阶段:在目标节点上触发,称为“目标阶段”。
  • 第三阶段:从目标节点传到回window对象(从底层传回上层),称为“冒泡阶段”。

阻止事件传播,使用事件对象的stopPropagation方法。

//html代码
<div id="parent">
        <div id="child"></div>
    </div>
    
   //true  是捕获   false  是冒泡
    parent.addEventListener('click',function(e){
        e.stopPropagation();
        console.log('我是parent22');
    },true)

    child.addEventListener('click',function(e){
        //e.stopPropagation();
        console.log('我是child11');
    },true)

上面代码只会打印“我是parent22“,不会打印“我是child11”。

Event.preventDefault方法取消浏览器对当前事件的默认行为。

//html  代码
// <input type="checkbox" id="my">
 var cb = document.getElementById('my');
 cb.addEventListener('click',function(e){
        e.preventDefault();
    },false)

上面代码中,浏览器的默认行为是单击会选中单选框,取消这个行为,就导致无法选中单选框。

2、鼠标事件

mouseover、mouseout和mouseenter、mouseleave的区别?
mouseover、mouseout会触发多次。mouseenter、mouseleave只触发一次。

3、表单事件
input事件和change事件的区别?
input事件在元素的值发生变化后立即发生,而change在元素失去焦点时发生,而内容此时可能已经变化多次。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值