2012-02-20 62 views
8

的HTML5 「oninput」 事件被一些現代瀏覽器,包括Firefox 3.X設置oninput事件的JavaScript

然而,奇怪的是,它似乎只與內嵌JavaScript來的工作提供支持:

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

當我嘗試使用JavaScript代碼設置它時,它不會觸發。

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

這只是Firefox中的一個錯誤,或者是否有某種原因會發生?

+0

這似乎是FF舊版本中的一個錯誤,因爲它適用於當前版本的Chrome和FF。 http://jsfiddle.net/mrtsherman/c5ywv/ – mrtsherman 2012-02-20 02:33:02

回答

11

下載FireFox v3.6.27並做了一些測試和搜索。我發現我以前的回答是錯誤的。

我得到的是:

的oninput事件屬性在Firefox從版本支持4

所以添加一個事件監聽器在這種情況下,您可以執行

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

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

但我更喜歡後面的方式。你可以在addEventListener找到理由。
在IE attachEvent中也有類似的功能。