javascript - 为什么这个 Javascript 函数不起作用?

标签 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 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 函数之外,一切都工作正常。我的 HTML 没有任何变化。任何帮助表示赞赏。谢谢!

我按如下方式调用 isnumberkey 函数:

 onkeypress="return isNumberKey(event)"

什么可能会阻止这个工作?自从我输入“停止回车键”功能后,它才开始起作用。

编辑:

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

最佳答案

似乎您的 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:例如。

if (true) alert('always true');
// or
if (true)
  alert('always true');

或者您可以使用代码块调用 if 语句

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

由于您的括号无序,如果用户按下 Enter 键,您的代码只会执行 show(),然后继续处理剩余的代码。所以 return false 总是被调用。

关于javascript - 为什么这个 Javascript 函数不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/719240/

相关文章:

api - 使用 jQuery 的 Dynamics CRM 2011 REST API

android - PhoneGap + jQuery 安卓应用; ajax 请求在浏览器中运行,但不在手机或模拟器中运行

JavaScript _doPostBack 错误

javascript - 从对象渲染 React 组件

javascript - Firefox 37 上 console.log() 的奇怪行为

javascript - 是否可以禁用没有 ID 的 input[type=image]?

javascript - 弹出掩码非常非常快地显示

javascript - 检查任何元素是否有文本 - 没有每个循环

javascript - JS : convert string into object

javascript - 使用特定用户的 javascript API 发布到页面墙