找到这个脚本:

函数 stopRKey(evt) {
var evt = (evt) ? evt:((事件)?事件:空);
var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
if ((evt.keyCode == 13) && (node.type=="text")) {return false;}
}

document.onkeypress = stopRKey;


唯一的问题是,它还会停止在 textarea 中使用 Enter 键。这是一个麻烦。

我玩过使用:onkeypress="return handleEnter(this, event)"
但是我们的表格非常复杂,我正在寻找一种更简洁的做事方式。

最佳答案

您需要在此处检查事件目标的 nodeName tagName ,如下所示:

if (evt.keyCode == 13 && node.nodeName != "TEXTAREA") { return false; }

我注意到在这被接受后你已经在使用 jQuery,你可以用这个替换上面的所有代码:
$(document).keypress(function (e) {
  if(e.which == 13 && e.target.nodeName != "TEXTAREA") return false;
});

关于javascript - 禁用页面上的回车键,但不在 textarea 中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4221464/

10-16 00:27