2011-12-01 18 views
0

直到文本框失去焦點後,HTML輸入框的onchange事件纔會觸發。一旦內容發生變化,是否有辦法讓它啓動?不等待輸入框失效的Onchange事件

這裏的焦點丟失後onchange燒製的例子:http://jsfiddle.net/McjqW/

+0

您還沒有提供太多的上下文,所以很難知道這是否適用,但請注意,通常存在與您提議的內容相關的重大可訪問性問題(例如:屏幕閱讀器用戶需要能夠瀏覽選擇中的選項) – steveax

回答

1

您正在尋找onkeypressonkeydown事件。請注意,此事件不是標準的,不同的瀏覽器可能會以不同的名稱公開此功能。 DOM級別3標準定義了一個keypress事件,這將是「答案」,但我再也不能擔保瀏覽器支持。

更新:onkeypressreportedly enjoys wide support

+0

完美。謝謝。任何想法哪些瀏覽器支持它,哪些不支持? – xbonez

+0

或者甚至onkeyup事件,如果你想在完成印刷後觸發代碼。 – CSharpened

+0

@xbonez:看看更新的答案。 – Jon

2

您可以使用onkeyup代替

<input type="text" id="fname" onkeyup="upperCase(this.id)"> 

http://jsfiddle.net/McjqW/1/

+0

有人可以請解釋我爲什麼[我編輯到這個小提琴](https://jsfiddle.net/McjqW/14/)不起作用? – vault

+0

@vault這是因爲JavaScript負載類型(單擊JS窗口一角的設置按鈕)需要設置爲「開頭」才能讓代碼運行 - https://jsfiddle.net/McjqW/15/ –

+0

謝謝。它也適用於「身體」,這就是我所期望的。 – vault

1

您需要的HTML5 input事件。這不是完全跨瀏覽器,但有一個IE < 9的解決方法,這是唯一沒有它的主要瀏覽器。見herehere