zoukankan      html  css  js  c++  java
  • JS_eventBind

    /*
    * Function.prototype.bind 外置函数;
    * 当连续bind事件的时候无法保证顺序;
    */
    if
    (!Function.prototype.bind){ Function.prototype.bind = function(){ var args = Array.prototype.slice.call(arguments); var _obj = args.shift(); var _fun = this; return function(){ return _fun.apply(_obj,args.concat(Array.prototype.slice.call(arguments))); }; }; } var eventHandler = { add:function(node,en,fu){ node.addEventListener ? node.addEventListener(en,fu,false) : node.attachEvent("on" + en, fu); }, remove:function(node,en,fu){ node.removeEventListener ? node.removeEventListener(en,fu,false) : node.detachEvent("on" + en, fu); }, guid:0, bind:function(node,en,fu){ var _this = this; fu = fu.bind(node); _this.guid++; if(!node.evenfun) node.evenfun = {}; if(!node.evenfun[en])node.evenfun[en] = {}; node.evenfun[en][_this.guid] = fu; _this.add(node,en,node.evenfun[en][_this.guid]); }, unbind:function(node,en){ var _this = this; if(!node.evenfun || !node.evenfun.hasOwnProperty(en)) return; for(var i in node.evenfun[en]){ _this.remove(node,en,node.evenfun[en][i]); } delete node.evenfun[en]; }, bindBn:function(node,en,fu){ var funame = fu.toString(),_this = this; fu = fu.bind(node); if(!node.evenfun) node.evenfun = {}; if(!node.evenfun[en])node.evenfun[en] = {}; node.evenfun[en][funame] = fu; _this.add(node,en,node.evenfun[en][funame]); }, unbindBn:function(node,en,name){ var _this = this; name = name.toString(); if(!node.evenfun || !node.evenfun[en].hasOwnProperty(name)) return; _this.remove(node,en,node.evenfun[en][name]); delete node.evenfun[en][name]; } }
  • 相关阅读:
    Maven学习
    Oracle_SQL函数-单行函数
    Java 8新特性-5 内建函数式接口
    量子优势
    配置Emeditor编译运行JAVA,附私家珍藏版
    配置Emeditor编译运行JAVA,附私家珍藏版
    Notepad2-mod,轻量级文本编辑器、代替记事本的最佳选择
    三星S7短信不能提示的处理方法
    三星S7短信不能提示的处理方法
    说说宾得机身的十大人性化设定和功能[转]
  • 原文地址:https://www.cnblogs.com/somesayss/p/2787918.html
Copyright © 2011-2022 走看看