Пользовательское событие в HTML, Javascript

Я ищу создать пользовательское событие в HTML, JS.

 

Как я могу создать один такой? «oncustombind» – это настраиваемое событие, которое я хочу создать. Я должен иметь возможность вызвать функцию / код, определенный в атрибуте oncustombind. Кроме того, мне нужно передать некоторые данные объекту события.

Я не хочу использовать какие-либо библиотеки, такие как jquery, YUI.

Любая помощь будет глубоко оценена.

Вы хотите CustomEvent

Они должны быть легко работать, но поддержка браузера оставляет желать лучшего. Однако DOM-shim должен это исправить.

 var ev = new CustomEvent("someString"); var el = document.getElementById("someElement"); el.addEventListener("someString", function (ev) { // should work }); el.dispatchEvent(ev); 

Плохая практика использования new Function и with , но это можно сделать следующим образом: http://jsfiddle.net/pimvdb/72GwE/13/ .

 function trigger(elem, name, e) { var func = new Function('e', 'with(document) {' + 'with(this) {' + elem.getAttribute('on' + name) + '}' + '}'); func.call(elem, e); } 

В следующем HTML:

  

затем вызвать событие, например:

 trigger(document.getElementById('x'), 'custombind', {foo: 123});