custom events

by joplomacedo

HTML

<div id="el"></div>
<button id="btn">BUTONE</button>

JavaScript

function addHandler(el, event, func) {
    var old = el[event];
    if (typeof old === "function") {
        el[event] = function() {
            old();
            func();
        };
    } else {
        el[event] = func;
    }
}

function triggerHandler(el, event) {
    el[event]();
}

var el = document.getElementById('el'),
    btn = document.getElementById('btn'),

    el_TurnOn = function() {
        console.log('turnedOn');
    },

    btnClick = function() {
        triggerHandler(el, 'turnOn');
    };

addHandler(el, 'turnOn', el_TurnOn);
btn.addEventListener('click', btnClick, false);