它可能是更改事件的正確行爲,但下面的行爲有點煩人。當該值從字段歷史更新(請參閱下面的說明)時,事件不會被觸發。正確處理輸入更改事件
請參閱下面的示例代碼。結果輸入字段將隨輸入字段'input1'的更改而更新。表單和提交按鈕並不完全相關,但需要提交表單以使瀏覽器保留字段值的歷史記錄。 要測試:
- 在字段中輸入的任何輸入(說ABC)
- 提交表單
- 輸入輸入的第一字符從1(A)
- 使用向下箭頭以選擇先前值+輸入
- 或使用鼠標從歷史記錄中選擇以前的值 未檢測到輸入變化。
哪個事件/該代碼應如何修改,以便在輸入值更改時生成一個事件。
謝謝。
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
</head>
<body>
Result:<input type="text" id="result" readonly></input>
<form method="post" action="">
<input type="text" id="input1" />
<button type=submit>Submit</button>
</form>
<script >
$(document).ready(function() {
$('#input1').change(
function(){
$('#result').val($('#input1').val());
});
});
</script>
</body>
</html>
這裏有一個的jsfiddle能重現問題,請注意您必須提交幾個值的建議顯示。 http://jsfiddle.net/kaptZ/ – 2011-05-18 21:05:57
你的例子適用於我最新的chrome。你需要從領域模糊,以獲得頂部領域的工作。 – zsalzbank 2011-05-18 23:51:13