JS 动态注册事件

JS当中动态注册事件,可以有好几种方式,但兼容性最好的是以下的方式:

 

//elementid:要注册事件的HTML控件的ID

//type:注册事件的名称,(例如:blur focus focusin focusout load resize scroll unload click dblclick " +
    "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
    "change select submit keydown keypress keyup error)

//eventHandle:事件的回调函数

var RegEvent=function(elementid, type,eventHandle)
{
    var elem=document.getElementById(elementid);    
           
    if ( elem.addEventListener ) { //firefox下用这个
        elem.addEventListener( type, eventHandle, false );

    } else if ( elem.attachEvent ) { //ie下用这个
         elem.attachEvent( "on" + type, eventHandle );
    }
}

-----------------------------

下面写一个相当简单的例子

<html>

<head>
<script>
var RegEvent=function(elementid, type,eventHandle)
{
    var elem=document.getElementById(elementid);    
           
    if ( elem.addEventListener ) {
	    elem.addEventListener( type, eventHandle, false );

    } else if ( elem.attachEvent ) {
	     elem.attachEvent( "on" + type, eventHandle );
    }
}


function init(){	
    	RegEvent("btn1","click", function(){
    		    alert("please input you name");
    		}
    	);
        //是可以注册多次的
	RegEvent("btn1","click", function(){
    		    alert("please input you name again!");
                   //使用  this.event.srcElement 就可以拿到 btn1的这个对象
} ); } //页面导入后注册事件 window.οnlοad=function(){ init(); //调用init()函数 } </script> </head> <body> <input type="button" value="Please click me" id="btn1"/> </body> </html>

 

 

 

 

 

转载于:https://www.cnblogs.com/hmII/archive/2012/03/28/2421412.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值