Path: blob/master/emojionearea/src/function/bindEvent.js
575 views
define([1'jquery',2'var/slice',3'var/possibleEvents',4'function/trigger',5],6function($, slice, possibleEvents, trigger) {7return function(self, event) {8event = event.replace(/^@/, '');9var id = self.id;10if (possibleEvents[id][event]) {11$.each(possibleEvents[id][event], function(i, ev) {12// ev[0] = element13// ev[1] = event14// ev[2] = target15$.each($.isArray(ev[0]) ? ev[0] : [ev[0]], function(i, el) {16$(el).on(ev[1], function() {17var args = slice.call(arguments),18target = $.isFunction(ev[2]) ? ev[2].apply(self, [event].concat(args)) : ev[2];19if (target) {20trigger(self, event, [target].concat(args));21}22});23});24});25possibleEvents[id][event] = null;26}27}28});2930