Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
490 views
in Technique[技术] by (71.8m points)

html - 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?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...