JSFiddle - React, Tailwind, and code Playground
by springuper
HTML
<input type="button" value="click me" id="trigger" />
JavaScript
// define 'event-tester' module
YUI.add('event-tester', function (Y) {
var Tester = function () {
Tester.superclass.constructor.apply(this, arguments);
};
Tester.NAME = 'Tester';
Tester.ATTRS = {
button: {
value: null
}
};
Y.extend(Tester, Y.Base, {
initializer: function () {
var instance = this,
nd = instance.get('button');
instance.publish('success', {
emitFacade: true,
broadcast: 2 // global scope event
});
nd.on('click', function (e) {
instance.fire('success', { node: nd });
});
}
});
Y.Tester = Tester;
}, '1.0.0', {
requires: ['node', 'base']
});
YUI().use('yui', 'event', function (Y) {
// listen global event 'Tester:success'
Y.Global.on('Tester:success', function (e) {
console.log('global event');
console.log(e.node);
});
});
YUI().use('event-tester', function (Y) {
// listen YUI instance event 'Tester:success'
Y.Global.on('Tester:success', function (e) {
console.log('YUI instance event');
});
var tester = new Y.Tester({ button: Y.one('#trigger') });
});