Advertisement
Seldon

queueEventBinder

Dec 12th, 2012
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. jQuery.fn.queueEventBinder(events, selector,  data, handler, position){
  2.     if (arguments.length < 5) {
  3.         jQuery.fn.on.apply($(this),arguments);
  4.     }
  5.  
  6.     var queue = $(this).data("eventQueue");
  7.  
  8.     if (!queue) {
  9.         $(this).data("eventQueue", queue = {});
  10.     }
  11.  
  12.     var eventsArray = events.split(" ");
  13.     for (var i = 0; i < eventsArray.length; i++) {
  14.         if (!queue[events]) {
  15.             queue[events] = [];
  16.             jQuery.fn.on.call($(this),events, selector,  data, function(){
  17.                 for(var i = 0; i < queue[events].length; i++) {
  18.                     if (queue[events][i] === false) {
  19.                         break;
  20.                     }
  21.                 }
  22.             });
  23.         }
  24.  
  25.         Array.prototype[position ? "push" : "unshift" ].call(queue[events], handler);
  26.  
  27.     }
  28. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement