美文网首页
事件绑定

事件绑定

作者: raincoco | 来源:发表于2017-03-07 18:58 被阅读20次

    1.事件绑定

    IE 的事件绑定函数是 attachEvent;

    Firefox, Safari 是 addEventListener;

    Opera 则两种都支持。

    > 使用jQuery就可以使用简单的bind(),或者$().click()之类的函数解决,而如果不使用JavaScript框架的时候,大家可是使用下面的封装bind()函数。

    /************************************

    * 添加事件绑定

    * @param obj : 要绑定事件的元素

    * @param type : 事件名称。不加 “on”. 如 : “click” 而不是 “onclick”.

    * @param fn : 事件处理函数

    ************************************/

    function bind(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 );

    }

    //bind(window,'deviceorientation',handleOrientation);

    bind(document, "click", test);

    function test(){

    alert("11")

    }

    /************************************

    * 删除事件绑定

    * @param obj : 要删除事件的元素

    * @param type : 事件名称。不加 “on”. 如 : “click” 而不是 “onclick”

    * @param fn : 事件处理函数

    ************************************/

    function unbind( obj, type, fn ) {

    if ( obj.detachEvent ) {

    obj.detachEvent('on'+type, obj[type+fn] );

    obj[type+fn] = null;

    } else

    obj.removeEventListener( type, fn, false );

    }

    //例如删除第一个绑定的document点击事件:

    unbind(document,'click',test);

    参考链接

    https://segmentfault.com/a/1190000002464814

    相关文章

      网友评论

          本文标题:事件绑定

          本文链接:https://www.haomeiwen.com/subject/fbtvgttx.html