javascript 事件处理

事件处理的多种方式:

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="content-type" content="text/html" charset="UTF-8"/>
    <script type="text/javascript">

        //跨浏览器的代码
        var EventUtil = {

            addHandler:function(element,type,handler){
                if(element.addEventListener){
                    element.addEventListener(type,handler,false);
                }else if(element.attachEven){
                    element.attachEvent("on"+type,handler);
                }else{
                    element["on"+type]=handler;
                }
            },

            removeHandler:function(element,type,handler){
                if(element.removeEventListener){
                    element.removeEventListener(type,handler,false);
                }else if(element.detachEvent){
                    element.detachEvent("on"+type,handler);
                }else{
                    element["on"+type] = null;
                }
            }
        }

        //等待document对象加载完成
        window.onload = function(){
                var btn = document.getElementById("btn");
                //添加事件处理程序
//                btn.addEventListener("click",btnClick2,false);
//
//                btn.addEventListener("click",btnClick3,false);
//
//                //移除事件处理程序
//                btn.removeEventListener("click",btnClick2,false);

            //添加事件处理程序
//            btn.onclick = btnClick1;

            //添加事件处理程序
            EventUtil.addHandler(btn,"click",btnClick2);
            //移除事件处理程序
            EventUtil.removeHandler(btn,"click",btnClick2);

        }

        //定义事件处理程序
        function btnClick1(){
            window.alert("btn click1");
        }

        function btnClick2(){
            window.alert("btn Click2");
        }

        function btnClick3(){
            window.alert("btn Click3");
        }


    </script>
</head>

<body>
<input type="button" value="btn" id="btn" οnclick="btnClick1()"/>
</body>
</html>

一个函数处理多个事件,用到事件对象:

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="content-type" content="text/html" charset="UTF-8"/>
    <script type="text/javascript">

        //等待document对象加载完成
        window.onload = function(){
            var btn = document.getElementById("btn");
            btn.onclick = btnEventHandler;
            btn.οnmοuseup=btnEventHandler;
            btn.onmousedown = btnEventHandler;
            btn.onmouseout = btnEventHandler;
            btn.onmouseover = btnEventHandler;

        }

        //定义事件处理程序,一个函数处理多个事件
        var btnEventHandler = function (event){
            switch(event.type){
                case "click":{
                    window.alert(click);
                    break;
                }
                case "mouseup":{
                    window.alert("mouseup");
                    break;
                }
                case "mousedown":{
                   window.alert("mousedown");
                    break;
                }
                case "mouserover":{
                    window.alert("mouseover");
                    break;
                }
                case "mouseout":{
                    window.alert("mouseout");
                    break;
                }
                default :break;
            }
        }

    </script>
</head>

<body>
<input type="button" value="btn" id="btn" />
</body>
</html>



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值