2010-10-30 73 views
5

HTML5爲我們提供了一些新的輸入元素,例如<input type=number>。這將在Chrome中作爲一個帶有兩個循環按鈕的文本框呈現,用於遞增和遞減框內的數字值。在Webkit/Chrome中檢測HTML5數字控件更改的事件?

對於個人愛好項目,我使用這個控件。然而,我堅持一個問題:

有沒有辦法檢測到值改變使用javascript事件?我本來期待onChange事件發生,但沒有這樣的運氣。另外,onClick僅在單擊文本框內容時觸發,而不是在單擊循環按鈕時觸發。

任何想法? (除了:嘿,這是HTML5表單,不要指望什麼工作還沒有!)

編輯:作爲mikerobi指出的下方,onChange事件儘快元素失去焦點不火。仍然不是我正在尋找的東西,所以歡迎其他意見和建議!

回答

6

錯誤報告的結果:不會修復,因爲按下這些按鈕時觸發input事件。它是HTML5規範的一部分。所以問題解決了,感謝mikerobi的提交文件的報告。

+1

這在Safari中適合你嗎?我使用的是Safari 5.0.3(mac),只有當我更改文本框中的數字時,纔會觸發輸入事件,而不是當我單擊這些按鈕時。 – expora 2010-12-16 04:32:20

+0

即使模糊輸入,Safari v5.0.4也不會觸發'change'事件,並且在單擊spinners時不會觸發'input'事件。似乎是一個遍佈着''的Safari瀏覽器bug。 – Phrogz 2011-03-23 18:48:47

+0

但是,請注意,在最新的WebKit每晚構建中,行爲是正確的,所以最終此修補程序應該進入Safari。 – Phrogz 2011-03-23 19:00:03

2

當箱子失去焦點時,onChange事件被激發,但您可能已經知道了。

HTML5指定數字輸入應該是文本框或微調控件,但該規範似乎沒有關於微調控制器外觀或行爲方式的任何指導,而將這些決策留給瀏覽器供應商。

看來,在Mac Safari中,旋轉按鈕確實會響應點擊事件,您可能想要提交Chrome報告錯誤,我懷疑這只是一個疏忽。

+0

嗨Mikerobi - 是的,應該補充說我已經發現了模糊變化的事情..已經感謝提及它。我會去提交錯誤報告,謝謝! – kander 2010-10-30 22:17:48

+0

您正在使用哪種Safari? Mine(5.0.2在Windows上)根本不支持數字類型,並將其呈現爲純文本框:/ – kander 2010-10-30 22:23:12

+0

@Kander,5.0.2在Mac上。 – mikerobi 2010-10-30 22:30:20

2

$ .click()正常工作。如果您單擊並按住,則不會釋放。

相關問題