Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么赢了';这个Javascript函数不能工作吗?_Javascript_Jquery - Fatal编程技术网

为什么赢了';这个Javascript函数不能工作吗?

为什么赢了';这个Javascript函数不能工作吗?,javascript,jquery,Javascript,Jquery,我有一个JavaScript函数,现在它不工作了,因为我在它下面放了一个新函数。这是我文件开头的内容 <head> <link rel="stylesheet" href="9j3nz/style.css" type="text/css"> <script src="jquery.js"></script> <script src="processing.js"></script> <script ty

我有一个JavaScript函数,现在它不工作了,因为我在它下面放了一个新函数。这是我文件开头的内容

 <head>
<link rel="stylesheet" href="9j3nz/style.css" type="text/css">
   <script src="jquery.js"></script>
    <script src="processing.js"></script>
<script type="text/javascript">
      function isNumberKey(evt)
      {
         var charCode = (evt.which) ? evt.which : event.keyCode
         if (charCode > 31 && (charCode < 48 || charCode > 57))
           return false;

         return true;
      }
</script>

<script type="text/javascript">

function stopRKey(evt) {
  var evt = (evt) ? evt : ((event) ? event : null);
  var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
  if ((evt.keyCode == 13) && (node.type=="text")) 
      $("label#enter_error").show();
 {return false;}
}

document.onkeypress = stopRKey;

</script> 
  </head>
是什么让它无法工作?自从我输入停止-回车键功能后,它才开始工作

编辑:


删除“停止输入”键功能后,isnumberkey事件再次工作。我认为它们在某种程度上相互干扰。

如果使用jQuery,可以简化代码:

$(document).keydown(e) {
    return e.keyCode == 31; // replace this with your logic
}

似乎你的stopRKey总是返回false,这可能会阻塞你的isNumberKey

试着重新安排你的父母

if ((evt.keyCode == 13) && (node.type=="text"))
  $("label#enter_error").show();
{return false;}
应该是

if ((evt.keyCode == 13) && (node.type=="text")) {
  $("label#enter_error").show();
  return false;
}
更新:使用if语句有两种方法

如果只需一次操作,就可以调用
:例如

if (true) alert('always true');
// or
if (true)
  alert('always true');
或者,您可以使用代码块调用
if
语句

if (true) {
  alert('one alert');
  alert('another alert');
}

由于您的参数出现故障,如果用户按enter键,然后继续处理剩余的代码,那么您的代码只会执行
show()
。因此总是调用return false。

这并不能解决问题,因为isnumberkey函数不起作用,但很好地了解了这一点。我现在正在学习jQuery。非常感谢。我不知道第一个函数是如何工作的。你不是在叫它:)我试着叫它,但效果很好。我是这样叫的:onkeypress=“returnisnumberkey(event)”有效。非常感谢你。你能解释一下这到底是怎么回事吗?我认为返回错误;是有条件的,我不明白它总是返回false的原因。更多的是关于if语句如何工作,请参阅我的更新
if (true) {
  alert('one alert');
  alert('another alert');
}