Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 358
Channel72 Avatar asked Feb 20 '12 02:02

Channel72


1 Answers

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.

like image 126
Grant Zhu Avatar answered Sep 18 '22 09:09

Grant Zhu