2010-10-15 232 views

回答

51

change將是該字段值更改時觸發的事件。

我認爲HTML5事件input也會觸發。

+20

只有當'up'和'down'箭頭被點擊時纔會觸發'oninput'。 – 2010-10-15 07:36:17

+2

但onchange只在火焰模糊,至少在Firefox。我想我們將不得不尋找重點新聞。 – andho 2010-10-15 07:45:12

+0

onchange和oninput都在Opera中工作,但只有oninput可以在Chrome中工作(並且只有當我從事件處理程序返回false時,否則Chrome會反覆觸發oninput事件) – 2010-10-15 07:51:35

3

onchange事件發生模糊,但oninput事件在您鍵入時觸發。也許您可能希望在oninput事件中添加計時器,並在用戶停止輸入一秒鐘時觸發您的onchange事件?

5

我發現onkeyuponchange涵蓋了Chrome 19中的所有內容。 這可處理直接值輸入,向上箭頭按鍵,單擊按鈕和滾動鼠標滾輪。

onchange僅在Chrome中就足夠了,但其他瀏覽器只會將該字段呈現爲文本框,這需要綁定onkeyup,該功能完全可以讀取新值。

單獨綁定mousewheel事件不太成功。事件發生得太早 - 在字段值更新之前 - 因此總是給出該字段的先前值

+0

對於Firefox也是如此。 – 2018-02-18 20:47:47

28

我發現對於jQuery,下面的代碼覆蓋了Chrome中的鍵盤輸入,鼠標滾輪更改和按鈕點擊,還處理了鍵盤輸入在Firefox

$("input[type=number]").bind('keyup input', function(){ 
    // handle event 
}); 
+1

添加'變化',也是完美的。您仍然希望聽取外部更改,無論如何,添加它並沒有什麼壞處。 – 2016-09-16 11:17:04

+0

如果你想在輸入區域內選擇滾動事件,也可以使用'mousewheel'。 – 2016-09-16 11:17:39

+1

請注意,'.bind()'現在不贊成使用'.on()' – 2017-05-10 18:31:51

相關問題