Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Ryan778
GitHub Repository: Ryan778/Ryan778.github.io
Path: blob/master/emojionearea/src/function/bindEvent.js
575 views
1
define([
2
'jquery',
3
'var/slice',
4
'var/possibleEvents',
5
'function/trigger',
6
],
7
function($, slice, possibleEvents, trigger) {
8
return function(self, event) {
9
event = event.replace(/^@/, '');
10
var id = self.id;
11
if (possibleEvents[id][event]) {
12
$.each(possibleEvents[id][event], function(i, ev) {
13
// ev[0] = element
14
// ev[1] = event
15
// ev[2] = target
16
$.each($.isArray(ev[0]) ? ev[0] : [ev[0]], function(i, el) {
17
$(el).on(ev[1], function() {
18
var args = slice.call(arguments),
19
target = $.isFunction(ev[2]) ? ev[2].apply(self, [event].concat(args)) : ev[2];
20
if (target) {
21
trigger(self, event, [target].concat(args));
22
}
23
});
24
});
25
});
26
possibleEvents[id][event] = null;
27
}
28
}
29
});
30