我注意到,如果用戶選擇之前保存的條目,JQuery中的keyUp
不會讀取輸入值。鍵盤無法讀取輸入值
例如下圖中......
如果用戶挑選先前保存的條目,然後我使用keyUp功能只會上面的圖片中讀取多達13
,而不是[email protected]
。 keyUp
只有在用戶手動輸入電子郵件的每個字符時纔有效。我該如何解決這個問題?
我注意到,如果用戶選擇之前保存的條目,JQuery中的keyUp
不會讀取輸入值。鍵盤無法讀取輸入值
例如下圖中......
如果用戶挑選先前保存的條目,然後我使用keyUp功能只會上面的圖片中讀取多達13
,而不是[email protected]
。 keyUp
只有在用戶手動輸入電子郵件的每個字符時纔有效。我該如何解決這個問題?
你可以結合使用這一點。
$('#text').on('change keyup mousedown',function(){
alert("1");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="text" id="text"/>
我不確定你可以單獨使用keyup來解決問題......但是,您可以使用事件組合並將它們綁定到控件。
下面是一個例子。如果您認爲適合您的特定情況,請更新。
var counter = 0;
$("#myId").bind("keyup change paste input propertychange mousedown", function(event) {
counter++;
$("p").text(counter + ": " + event.type);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="myId">
<p></p>
問題在於變化只會在模糊情況下發生。 –
你也可以使用'input'事件。 https://developer.mozilla.org/en-US/docs/Web/Events/input – idan
可以綁定/監聽input
事件,所有主要的瀏覽器都有某種程度的支持對他們的支持版本。實施例與jquery:
$("#search").on("input", function() {
console.log($(this).val());
});
將觸發對發生的變化對目標輸入元件,而輸入仍處於焦點(因此不是輸入失去焦點後,像change
事件),如:
請務必查看任何支持瀏覽器的怪癖,特別是當用戶刪除已輸入字符(例如使用刪除鍵或退格鍵或「剪切」)時,IE9不會觸發此事件。
簡單,工作小提琴例如:
這是有道理的,對嗎?如果從13開始有兩個項目,應選擇哪一個?輸入文字會限制列表,之後您應該可以使用箭頭(或鼠標)導航到正確的項目。這就是一個下拉通常如何工作.. – GolezTrol
btw只是建議如果'keyup'無法觸發,你爲什麼不使用'更改keyup mousedown'更多的事件觸發。 – mmativ
[textbox browser autocompletion options does not fire keypress/keyup]可能重複(http://stackoverflow.com/questions/9531612/textbox-browser-autocompletion-options-do-not-fire-keypress-keyup) – Anthony