百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>JS教程> javascipt中事件绑定方法介绍
分享文章到:

javascipt中事件绑定方法介绍

发布时间:01/15 来源: 浏览: 关键词:
在js中事件绑定有四种方法,包括有onXXX,dom,attachEvent,event这种种,下面我来简单的给各位朋友介绍相关的内定,本文章主要给大家介绍attachEvent事件,有需要的朋友可参考。

Javascript的事件绑定主要有四种方法(一下在IE中运行正常,但不保证其他浏览器):

1、在DOM中,直接用onXXX="fun();"进行绑定

2、在Javascript代码中用 DOM对象.onXXX=fun 进行绑定

3、用 DOM对象.attachEvent("onXXX",fun) 进行绑定

4、用<script for="domId" event="onXXX">fun();</script> 进行绑定

 代码如下

<html>
<head>
<script type="text/javascript">
    function test(){

        window.alert("你投了一票");
        //解除绑定 IE 独有
        //document.getElementById("tp").detachEvent("onclick",test);
        //W3C 标准
        document.getElementById("tp").removeEventListener("click",test);
    }
   
</script>
</head>
<body>
<input type="button" id="tp" value="投票" />
</body>
<script>
    //绑定事件监听 IE独有
    //document.getElementById("tp").attachEvent("onclick",test);
    ////W3C 标准
    document.getElementById("tp").addEventListener("click",test);
</script>
</html>

 代码如下

function addEvent( obj, type, fn ) {
        if ( obj.attachEvent ) {
            obj['e'+type+fn] = fn;
            obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
            obj.attachEvent( 'on'+type, obj[type+fn] );
        } else
            obj.addEventListener( type, fn, false );
    }
    function removeEvent( obj, type, fn ) {
        if ( obj.detachEvent ) {
            obj.detachEvent( 'on'+type, obj[type+fn] );
            obj[type+fn] = null;
        } else
            obj.removeEventListener( type, fn, false );
    }

事件绑定BUG大家可参考参考。

 代码如下

<a id="link_foo">Foo</a><a id="link_foo">Foo</a>
<script type="text/javascript">
function bindFooClick(){
  $("#link_foo").click(function(){
    console.log "asd"
  });
}
bindFooClick();
bindFooClick();
bindFooClick();
bindFooClick();
</script>

然后去点击 Foo 这个连接,将会出现4个日志输出。

如果不小心这个事件绑定被搞得成倍增长了,那就等着暴掉吧。

所以需要在 bindFooClick 绑定事件前去掉之前的绑定

 代码如下

function bindFooClick(){
  $("#link_foo").unbind("click");
  $("#link_foo").bind("click", function(){
    console.log "asd"
  });
}

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有3人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板