I need to generate keyup events in IE 8 using native DOM functions (no jQuery). The following code generates, fires, and receives the event, but the keyCode is always 0. How
Figured it out. The solution is to create an event object, assign the keycode, and fire it from the node.
var e = document.createEventObject("KeyboardEvent");
e.keyCode = keyCode;
node.fireEvent("onkeyup", e);
e = e || window.event;
keycode = e.keyCode || e.which;
That will make events work in all browsers.
Also, I prefer to use me.onkeyup = function(e) { ... }
, but that' just personal preference (I know the drawbacks of this method, but I have clever ways to work around them)