只有在值发生变化时才应执行onkeypress

时间:2012-12-28 14:45:08

标签: javascript

我有一个函数说jsFunEnter(e)

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

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

简而言之,如果值没有改变,我不需要在按回车键的情况下调用函数jsFunEnter(e)。例如:如果我在文本框中有'7'。我将'7'更改为'8'并按Enter键应执行该功能。但如果我改变'7'并再次输入'7'并按回车将不会调用该功能。

2 个答案:

答案 0 :(得分:0)

将旧值保留在另一个全局变量上,并检查方法开头的更改。在方法结束时更新全局变量。

答案 1 :(得分:0)

您需要存储以前的值并将其与新值进行核对:

var oldInput;

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

     }
}