admin管理员组

文章数量:1208155

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?

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?

Share Improve this question edited Mar 27, 2022 at 17:45 Brian Tompsett - 汤莱恩 5,88372 gold badges61 silver badges133 bronze badges asked Feb 20, 2012 at 2:30 Channel72Channel72 24.7k35 gold badges115 silver badges187 bronze badges 1
  • This appears to be a bug in perhaps older versions of FF as it works for me in current version of both Chrome and FF. jsfiddle.net/mrtsherman/c5ywv – mrtsherman Commented Feb 20, 2012 at 2:33
Add a comment  | 

1 Answer 1

Reset to default 20

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.

本文标签: htmlSetting oninput event with JavaScriptStack Overflow