Если вы поддерживаете IE9 +, вы можете использовать следующее. function addEventListener(el, eventName, handler) { if (el.addEventListener) { el.addEventListener(eventName, handler); } else { el.attachEvent('on' + eventName, function() { handler.call(el); }); } } function triggerEvent(el, eventName, options) { var event; if (window.CustomEvent) { event = new CustomEvent(eventName, options); } else { event = document.createEvent('CustomEvent'); event.initCustomEvent(eventName, true, true, options); } el.dispatchEvent(event); } // Add an event listener. addEventListener(document, 'customChangeEvent', function(e) { document.body.innerHTML = e.detail; }); // Trigger the event. triggerEvent(document, 'customChangeEvent', { detail: 'Display on trigger...' }); Если вы уже являетесь пользователем, используя jQuery, вот версия jQuery вышеприведенного кода. $(function() { // Add an event listener. $(document).on('customChangeEvent', function(e, opts) { $('body').html(opts.detail); }); // Trigger the event. $(document).trigger('customChangeEvent', { detail: 'Display on trigger...' }); });
function addEventListener(el, eventName, handler) { if (el.addEventListener) { el.addEventListener(eventName, handler); } else { el.attachEvent('on' + eventName, function() { handler.call(el); }); } } function triggerEvent(el, eventName, options) { var event; if (window.CustomEvent) { event = new CustomEvent(eventName, options); } else { event = document.createEvent('CustomEvent'); event.initCustomEvent(eventName, true, true, options); } el.dispatchEvent(event); } // Add an event listener. addEventListener(document, 'customChangeEvent', function(e) { document.body.innerHTML = e.detail; }); // Trigger the event. triggerEvent(document, 'customChangeEvent', { detail: 'Display on trigger...' });
Если вы уже являетесь пользователем, используя jQuery, вот версия jQuery вышеприведенного кода.
$(function() { // Add an event listener. $(document).on('customChangeEvent', function(e, opts) { $('body').html(opts.detail); }); // Trigger the event. $(document).trigger('customChangeEvent', { detail: 'Display on trigger...' }); });
Вы должны добавить эту строку в начало вашего Gemfile:
source 'https://rubygems.org'