js ready,JS_eventBind

 2023-11-19 阅读 20 评论 0

摘要:/* * 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.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];}}

轉載于:https://www.cnblogs.com/somesayss/archive/2012/11/25/2787918.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/184259.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息