I'd suggest you to use addEvent
,removeEvent
function approaches due to cross browser issues.
addEvent
function is capable of to add events on elements, while removeEvent
remove them
if ( document.addEventListener ) { // if addEventListener provided
this.addEvent = function(elem, type, fn) {
elem.addEventListener(type, fn, false);
return fn;
};
this.removeEvent = function(elem, type, fn) {
elem.removeEventListener(type, fn, false);
};
} else if ( document.attachEvent ) { // if attachEvent provided
this.addEvent = function(elem, type, fn) {
var bound = function() {
return fn.apply(elem, arguments);
};
elem.attachEvent("on" + type, bound);
return bound;
};
this.removeEvent = function (elem, type, fn) {
elem.detachEvent("on" + type, fn);
};
}
For example if you have HTML
<textarea id="source" placeholder="Text Entry."></textarea>
<textarea id="result" placeholder="Text Entry." disabled="disabled"></textarea>
JavaScript
addEvent(document.getElementById("source"),"keydown",function(){ // event will occur on keyup
document.getElementById("result").innerHTML = this.value; // this refers to textarea element
});
JSFiddle
PS. Check out attachEvent and addEventListener methods