找到这个脚本:
函数 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/