2.javascript中的事件对象【学习笔记】

事件对象 event

可观看视频 http://www.imooc.com/video/2139

参考书籍《javascript程序员参考手册》第十二章


1.DOM中的事件对象(IE中不支持)

    1.1常用属性:

           (1)type属性 获取事件类型

           (2)target 属性 获取事件目标

    1.2常用方法:

        (1)stopPropagation() 方法   阻止事件冒泡

        (2)preventDefault() 方法  阻止事件的默认行为



1.2.(1)stopPropagation() 方法   阻止事件冒泡 例子:

给btn3添加了一个showMessage()函数,给btn3的父元素添加了一个showBox()函数

测试结果:先弹出hello world!  确定之后弹出 这是放按钮的盒子



//使用 stopPropagation() 方法




1.2.(2)preventDefault() 方法 阻止事件的默认行为 例子:

//先阻止冒泡,



测试:实现了跳转



// 阻止事件的跳转(默认)行为




2.IE中的事件对象

    1.1常用属性:

           (1)type属性 获取事件类型

           (2)srcElement 属性 获取事件目标

           (3)canceBubble 属性   阻止事件冒泡 (ture:阻止冒泡)

           (4)returnValue 属性   阻止事件默认行为 (false:阻止默认行为)



1.1. (2)srcElement 属性 获取事件目标

 


注:非 IE 可以直接使用event ; 但是 IE8 前 引用需要 window.event


 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>事件流</title>
    <script src="js/event.js"></script>
    <script src="js/script.js"></script>
</head>
<body>
    <div id="box">
        <input type="button" value="按钮" id="btn" οnclick="showMessage()">
        <input type="button" value="按钮2" id="btn2">
        <input type="button" value="按钮3" id="btn3">
        <a href="event.html" id="go">跳转</a>
    </div>

    <script>
        function showMessage(event) {
            event=event || window.event;
            var ele=event.target || event.srcElement;
            alert(ele);
            event.stopPropagation();
        }
        function showBox() {
            alert('这是放按钮的盒子');
        }
        function stopGoto(event) {
            event.stopPropagation();
            event.preventDefault();
        }

        var btn2=document.getElementById('btn2');
        var btn3=document.getElementById('btn3');
        var box = document.getElementById('box');
        var go = document.getElementById('go');

        <!--btn2添加onclick属性,写成匿名函数-->
        btn2.οnclick=function () {
            alert('这是通过DOM 0级添加的事件!');
        }
        btn2.οnclick=null; //取消onclick事件 直接赋值为null

//        <!-- 给btn3添加DOM2级事件程序-->
//        btn3.addEventListener('click',showMessage,false);
//        btn3.addEventListener('click',function () {
//            alert(this.value);
//        },false);
//        //btn3.removeEventListener('click',showMessage,false); //删除事件

//        btn3.attachEvent('onclick',showMessage);
//        btn3.detachEvent('onclick',showMessage); //删除事件


        //测试btn3
        eventUtil.addEvent(btn3,'click',showMessage);
        //eventUtil.removeEvent(btn3,'click',showMessage);

        //给box添加事件
        eventUtil.addEvent(box,'click',showBox);

        eventUtil.addEvent(go,'click',stopGoto);
    </script>
</body>
</html>



// 对各类型事件进行封装






// 测试










                     



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值