DOM事件

dom2级事件定义了两个方法:
用于处理指定和删除事件处理程序的操作
addEventListener()和removeEventListener()
接收三个参数:要处理的事件名(千万不能加on)、作为事件处理程序的函数和布尔值
(false)。false代表冒泡阶段,true代表捕获阶段
①Html事件:直接在html标签里写οnclick=”alert(“1”);”
②DOM0事件:
添加——document.getElementById(“aaa”).οnclick=function(){};
移除——document.getElementById(“aaa”).οnclick=null;
③DOM2 事件:(可以绑定多个事件)
添加——
document.getElementById(“aaa”).addEventListener(“click”,function(){},false);
移除——
document.getElementById(“aaa”).removeEventListener(“click”,function(){},false);


IE事件处理程序element.attachEvent(onclick,handler) detachEvent()


跨浏览器解决兼容问题

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>

    <div id="box">
        <input type="button" name="" value="按钮" id="btn">
    </div>

    <script type="text/javascript">

        function showMes() {
            alert("hello hello");
        }

        var btn = document.getElementById('btn');

        var eventUtil={
            // 添加句柄
            //假定type="onclick",dom2事件必须把on去掉
            addHander:function(element,type,hander) {
                if (element.addEventListener) {
                    element.addEventListener(type,hander,false);
                } else if(element.attachEvent) {
                    element.attachEvent('on'+type,hander);
                } else {
                    element['on'+type] = hander;
                }
            },
            // 删除句柄
            removeHander:function(element,type,hander) {
                if (element.removeEventListener) {
                    element.removeEventListener(type,hander,false);
                } else if(element.detachEvent) {
                    element.detachEvent('on'+type,hander);
                } else {
                    element['on'+type] = null;
                }
            }
        }

        eventUtil.addHander(btn,'click',showMes);
        //删除
        // eventUtil.removeHander(btn,'click',showMes);

    </script>
</body>
</html>

1.dom中的事件对象
(1)type属性用于获取事件类型;
(2)target属性用于获取事件目标;
(3)stopPropagation()方法用于组织事件冒泡;
(4)preventDefault()方法阻止事件的默认行为;
2.IE中的事件对象
(1)type属性用于获取事件类型;
(2)srcElement属性用于获取事件的目标
(3)cancelBubble属性用于组织事件冒泡
(4)retrunValue属性 用于阻止事件的默认行为;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值