'Setting oninput event with JavaScript

The HTML5 oninput event is supported by some modern browsers, including Firefox 3.X

However, strangely, it only seems to work with inline JavaScript:

<input id = "q" oninput="alert('blah')">

When I try to set it using JavaScript code, it doesn't fire.

var q = document.getElementById("q");
q.oninput = function(){alert("blah");};

Is this just a bug in Firefox, or is there some reason this happens?



Solution 1:[1]

After downloading FireFox v3.6.27 and doing some test and search. I found my previous answer was wrong.

What I got is:

the oninput event property is supported in Firefox from version 4.

So to add a event listener in this case, you can do either

<input id = "q" oninput="alert('blah')">

or

q.addEventListener('input', function(){alert("blah");}, true);

But I prefer the later way. You can find reasons in addEventListener.
Also a similar function in IE attachEvent.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1