在keydown或keypress事件中調用preventDefault()
,其中編程式更改的值不考慮更改,並且不會在輸入文本的出口處觸發onchange事件。在keydown事件中的preventDefault(),onchange事件不觸發
示例代碼:
$('#textbox1').on('change', function() {
alert('onchange called');
});
$('#textbox1').on('keydown', function(event) {
if(event.key=='a') {
$(this).val('A');
//event.target.value = 'A';
event.preventDefault();
}
});
平變化的呼叫(在離開輸入文本)數字僅炭「a」和離開輸入另一個時間之後。
小提琴代碼:http://jsfiddle.net/gxx5744s/1/
什麼用onchange事件來檢查值發生變化?一對舊/新的價值變量?一個布爾? 可以與之互動嗎?
Keydown事件的默認大概也是這樣。
我猜觸發'onchange'是'default'你阻止的一部分。順便問一下,你的問題是什麼?你想知道你的行爲後如何手動觸發onchange? – Kaddath
如果我手動觸發onchange事件,它每次都會被調用,而不僅僅是當我改變輸入的焦點時。 – Gian