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

前端之家收集整理的这篇文章主要介绍了javascript – 禁用页面上的Enter键,但不在textarea中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
找到这个脚本:

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"))  {return false;}
}

document.onkeypress = stopRKey;


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

我已经玩弄了:

onkeypress =“return handleEnter(this,event)”

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

解决方法

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

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

$(document).keypress(function (e) {
  if(e.which == 13 && e.target.nodeName != "TEXTAREA") return false;
});
原文链接:https://www.f2er.com/js/152219.html

猜你在找的JavaScript相关文章