HTML之事件处理程序

HTML事件

<body>
    <input type="button" value="按钮1" id="but1" onclick="click()">
    <script type="text/javascript">
    function click(){
        alert(this.value+"被点击了");
    }
</script>
</body>

DOM0级事件

<body>
    <input type="button" value="按钮1" id="but1">
    <script type="text/javascript">
    function click(){
        alert(this.value+"被点击了");
    }
    var but1 = document.getElementById("but1");
    but1.onclick = click;//添加
    but1.onclick = null;//移除
</script>
</body>

DOM2级事件

<body>
    <input type="button" value="按钮1" id="but1">
    <script type="text/javascript">
    function click(){
        alert(this.value+"被点击了");
    }
    var but1 = document.getElementById("but1");
    but1.addEventListener("click", click, false);//添加,参数false表示事件冒泡流,true表示捕获流
    but1.removeEventListener("click", click, false);//移除
</script>
</body>

IE8-版本事件

<body>
    <input type="button" value="按钮1" id="but1">
    <script type="text/javascript">
    function click(){
        alert(this.value+"被点击了");
    }
    var but1 = document.getElementById("but1");
    but1.attachEvent("onclick", click);//添加,没有参数false或true,是因为IE8以及更早的浏览器只支持事件冒泡流,
    but1.detachEvent("onclick", click);//移除
</script>
</body>

兼容写法

<body>
    <input type="button" value="按钮1" id="but1">
    <script type="text/javascript">
    function myClick(){
        alert(this.value+"被点击了");
    }
    var but1 = document.getElementById("but1");
   var eventUtil = {//封装事件处理程序
        addEvent:function(ele,type,fun){
            if(ele.addEventListener){
                ele.addEventListener(type, fun, false);
            }else if(ele.attachEvent){
                ele.attachEvent('on'+type, fun);
            }else{
                ele['on'+type] = fun;
            }
        },
        removeEvent:function(ele,type,fun){
            if(ele.removeEventListener){
                ele.addEventListener(type, fun, false);
            }else if(ele.detachEvent){
                ele.detachEvent('on'+type, fun);
            }else{
                ele['on'+type] = null;
            }
        }
    }
    eventUtil.addEvent(but1,'click',myClick);
</script>
</body>

 

转载于:https://www.cnblogs.com/caoruiy/p/4501868.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值