0

jsFunEnter(e) という関数があります

<input name="name" id="id" onkeypress="jsFunEnter(event)"  size="2" value="13"/>

function jsFunEnter(e)
{
if (e.keyCode == 13) 
     {
       callAnother();
     }
}

つまり、値が変更されていない場合は、Enter キーを押して関数 jsFunEnter(e) を呼び出す必要はありません。例: テキスト ボックスに '7' がある場合。「7」を「8」に変更し、Enter キーを押して関数を実行します。しかし、「7」を変更してもう一度「7」と入力してEnterキーを押しても、関数は呼び出されません。

4

2 に答える 2

0

古い値を別のグローバル変数に保持し、メソッドの先頭で変更を確認します。メソッドの最後でグローバル変数を更新します。

于 2012-12-28T14:47:50.500 に答える
0

以前の値を保存して、新しい値と照合する必要があります。

var oldInput;

function jsFunEnter(e)
{
     if (e.keyCode == 13) 
     {
       newInput = document.getElementById("id").value;
       if (newInput != oldInput) {
           oldInput=newInput;
           callAnother();
       }

     }
}
于 2012-12-28T14:49:29.587 に答える