2

重複の可能性:
javascriptからテキストボックスの変更イベントを検出する方法

挿入直後にテキストフィールドに挿入された値を検出するにはどうすればよいですか? changeバーコードスキャナから新しい値が挿入されるため、フォーカスが失われた後にのみイベントが発生keyPress, keyUp, keyDownします(このキーボードイベントは発生しません)。タイマーのみを使用し、テキスト フィールドの値を定期的にチェックしますか?

4

2 に答える 2

1

イベントをご利用いただけますoninput。フィールドに入力が行われるたびにトリガーされます。

詳細については、このブログから引用を取得します:http ://whattheheadsaid.com/2010/09/effectively-detecting-user-input-in-javascript( @AndyEによって書かれました)

オンキーダウンとタイマーについて話します...

ただし、これでもキーボードを使用しない入力は処理されません。他にどのような種類の入力がありますか?コンテキストメニューのアクションはどうですか。切り取り、貼り付け、元に戻す、やり直し?ドラッグアンドドロップ?しばらくの間、他の種類の入力変更を処理するイベントがありました–いくつかのブラウザーは、onpaste、oncut、およびoncopyイベントをサポートします–しかし、それらは非標準であり、一部のベンダーはそれらを実装するには頑固すぎます。

入力時にHTML5イベントを入力します。

クロスブラウザのjQueryプラグインについては、次のプラグインをご覧ください(同じ作成者):http ://whattheheadsaid.com/projects/input-special-event

于 2012-07-03T06:44:09.097 に答える
0

あなたはこれを意味しますhttp://jsfiddle.net/SP69J/10/

関数

$(document).ready(check);
  var previousvalue="";
function check(){
var val=$("#inputcontrol").val();
var interval;

 interval = window.clearInterval(interval); 
    if(val!=previousvalue){
    alert("value changed");
        previousvalue=$("#inputcontrol").val();
    }        
 interval = window.setInterval(check, 500);    
}​

必要に応じて間隔を設定します。

HTML:

<input type="text" id="inputcontrol">​
于 2012-07-03T05:16:52.713 に答える