Javascript 防止更改时发生其他事件

Javascript 防止更改时发生其他事件,javascript,Javascript,在我的文本框中,我有两个事件onchange和keydown(用于回车) 现在,我对onchange事件进行了验证。如果任何验证失败,我将发出警报 但当我按下回车键时,如果验证失败,那么我不想执行 键控事件 有什么建议吗 谢谢, Nik您需要做的是检查keydown上键代码的值是否存在无效表单。 还定义一个局部变量,假设这两个函数是在同一上下文中定义的,如果它们不在同一上下文中使用,则应用于调用它们 此时,如果(event.keyCode!=13&&!invalid){[您的操作]} 您可以获得

在我的文本框中,我有两个事件onchange和keydown(用于回车) 现在,我对onchange事件进行了验证。如果任何验证失败,我将发出警报 但当我按下回车键时,如果验证失败,那么我不想执行 键控事件

有什么建议吗

谢谢,
Nik

您需要做的是检查keydown上键代码的值是否存在无效表单。 还定义一个局部变量,假设这两个函数是在同一上下文中定义的,如果它们不在同一上下文中使用,则应用于调用它们

此时,如果(event.keyCode!=13&&!invalid){[您的操作]}

您可以获得有关键码的更多信息


我希望这会有所帮助。

您希望创建一个全局变量(布尔值),onchange事件将对其进行更改。将该布尔值自动设置为false,在验证后将其更改为true。在触发keydown事件后,在采取任何进一步的操作之前,您需要检查并查看它是否是enter键,以及它是否通过了所有验证

<script type="text/javascript">
     var passedChecks = false;

     function validateText(e) {
          var src = (window.event) ? window.event.srcElement: e;

          if (src.value == b) { // verify your logic is true.
               passedChecks = true;
          } 
     }

     function validateKey(e) {
          var src = (window.event) ? window.event.srcElement: e; 

          if (src.keyCode == 13) {
               if (passedChecks == true) {
                    // process your code.
               }
          }
     }
</script>

<input type="text" id="myText" onchange="validateText()" onkeydown="validateKey()">

var passedChecks=假;
函数validateText(e){
var src=(window.event)?window.event.src元素:e;
如果(src.value==b){//请验证您的逻辑是否正确。
passedChecks=true;
} 
}
函数validateKey(e){
var src=(window.event)?window.event.src元素:e;
如果(src.keyCode==13){
if(passedChecks==true){
//处理你的代码。
}
}
}

不确定您到底想要什么,但如果您想要控制按键按下事件,您可以这样做:

<script type="text/javascript"> 

function onKeyDown() 

{  
   if(event.keyCode == 13 ) // if enter key  
   {  
// your validation-checking code here  
      if("validationfailed")  
      return false // prevent the event from happening if validation failed  
      else return true;// validating ok, allow it.  
   }  
   else  
   {  
      // another key, alow it.  
      return true;  
   }  
}  

</script>  
<input type="text" id="myText" onchange="validateText()" onkeydown="return onKeyDown()">  

函数onKeyDown()
{  
if(event.keyCode==13)//如果输入key
{  
//您的验证检查代码在这里
如果(“验证失败”)
return false//如果验证失败,防止事件发生
else返回true;//验证确定,允许它。
}  
其他的
{  
//另一把钥匙,离它远点。
返回true;
}  
}