I have a textarea on a html page, on google chrome, well I don’t know what version because the user interface is deviously hidden, but on Chrome the onChange="code" event isn’t firing but on Firefox 11.0 1.0 (according to help->about) it is firing. Then instead I start playing around with the events onkeydown="same_function()", onpaste="same_function()" and oninput="same_function()", in order to be absolutely sure to capture at least one event. But now the problem is that I’m getting too many events, and when I check the textarea_dom_object.value of the textarea after getting a keydown event the key that was pressed isn’t included in the value that I’m reading; if I have "abc" in the textfield and I press d, that generates a keypressed, but I’m still getting only "abc", not "abcd".
Is there a compatible way, or at least a way that works on most browsers, to get an event every time a textarea changes, but preferably only one event? I don’t like the kind of ugly code I would have to write if I had to first test if I’ve already listened to an event and so forth. All I want is one event each time the text in the textarea changes.
Here’s the thing about why jQuery is so amazing. It understands the need to gracefully degrade the code between browsers that don’t support newer functionality. JavaScript in and of itself does not offer this support stand alone. By enhancing JavaScript’s core capabilities in using jQuery, you are generally going to be more successful with cross browser support.
That being said…
There are still plenty of scenarios where you need to identify what device/browser you’re working with so that you can perform the expected operations.
The most important thing to remember is that there is no 100% cross-support library in existence.