大佬教程收集整理的这篇文章主要介绍了附加jQuery事件处理程序,以便首先触发它们,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
$.fn.extend({ bindFirst: function(type,handler) { var baseType = type; var dotIdx = type.indexOf('.'); if (dotIdx >= 0) { baseType = type.substr(0,dotIdX); } this.each(function() { var oldEvts = {}; var data = $.data(this); var events = data.events || data.__events__; var handlers = events[baseType]; for (var h in handlers) { if (handlers.hasOwnProperty(h)) { oldEvts[h] = handlers[h]; delete handlers[h]; // Also tried an unbind here,to no avail } } var self = $(this); self.bind(type,handler); for (var h in oldEvts) { if (oldEvts.hasOwnProperty(h)) { self.bind(baseType,oldEvts[h]); } } }); } });
是否有自然的方式重新排序事件处理?如果没有,你知道我可以应用的技术吗?我使用jQuery 1.4.1,但我会升级,如果我必须。
对于简单绑定单个或空格分隔的事件组,它应该工作。
$.fn.bindUp = function(type,fn) { type = type.split(/\s+/); this.each(function() { var len = type.length; while( len-- ) { $(this).bind(type[len],fn); var evt = $.data(this,'events')[type[len]]; evt.splice(0,evt.pop()); } }); };
或者,如果你想以一些其他方式操作处理程序数组,只是获取你想要的元素的处理程序,并操纵它,但你想要:
示例:http://jsfiddle.net/gbcUy/1/
var clickHandlers = $('img').data('events').click; clickHandlers.reverse(); // reverse the order of the Array
以上是大佬教程为你收集整理的附加jQuery事件处理程序,以便首先触发它们全部内容,希望文章能够帮你解决附加jQuery事件处理程序,以便首先触发它们所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。