Edit in JSFiddle

function bind(elem, type, handler, capture) {

    type = typeof type === 'string' && type || '';
    handler = handler || function () { ; };

    if (elem.addEventListener) {
        elem.addEventListener(type, handler, capture);
    }
    else if (elem.attachEvent) {
        elem.attachEvent('on' + type, handler);
    }
    else {
        elem['on' + type] = handler;
    }

    return elem;
};

bind(document, 'keydown', function (e) {
    console.log(keyCode(e));
});

bind(document, 'keypress', function (e) {
    console.log(keyCode(e));
});

function keyCode(e) {
    return e.charCode ? e.charCode : e.keyCode;
}