Channel72
Channel72

Reputation: 24719

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?

Upvotes: 14

Views: 22387

Answers (1)

Grant Zhu
Grant Zhu

Reputation: 3018

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.

Upvotes: 20

Related Questions