javascript – 禁用页面上的Enter键,但不在textarea中

前端之家收集整理的这篇文章主要介绍了javascript – 禁用页面上的Enter键,但不在textarea中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
找到这个脚本:
  1.  
  2. function stopRKey(evt) {
  3. var evt = (evt) ? evt : ((event) ? event : null);
  4. var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
  5. if ((evt.keyCode == 13) && (node.type=="text")) {return false;}
  6. }
  7.  
  8. document.onkeypress = stopRKey;
  9.  
  10.  

只有问题,它也停止在文本区域中使用的键.这是一个麻烦.

我已经玩弄了:

onkeypress =“return handleEnter(this,event)”

但我们的形式非常复杂,我正在寻找一种更干净的做事方式.

解决方法

您需要在这里检查事件目标的 nodeNametagName,如下所示:
  1. if (evt.keyCode == 13 && node.nodeName != "TEXTAREA") { return false; }

我注意到这被接受后,你已经在使用jQuery了,你可以用以下代码替换上面的所有代码

  1. $(document).keypress(function (e) {
  2. if(e.which == 13 && e.target.nodeName != "TEXTAREA") return false;
  3. });

猜你在找的JavaScript相关文章