我有一个表单阻止用户使用enter / return键提交表单。
我在表单上有两个textareas,我想让enter / return键运行。
我已添加此代码以尝试克服此问题(from this thread):
$(window).keydown(function(event){
//if(event.keyCode == 13) {
if((event.which== 13) && ($(event.target)[0]!=$("textarea")[0])) {
event.preventDefault();
return false;
}
});
我引用的帖子中的代码不适用于多个 textareas - 仅适用于每个表单的一个textarea!
但是,此代码仅适用于第一个textarea。第二个textarea中的回车键/返回键不起作用。
我多次试图让这个超过1 textarea工作,但我的所有尝试都失败了。
有什么建议吗?
感谢。
答案 0 :(得分:1)
尝试此解决方案。
它会停用表单提交的enter
键,并允许enter
键在所有 textareas中创建新行,如帖子中所述。
$(document).on("keypress", ":input:not(textarea)", function(event) {
if (event.keyCode == 13) {
event.preventDefault();
}
});
答案 1 :(得分:0)
您可以使用if来检查触发事件的节点是否不是textarea
。如果不是,请勿允许使用enter/return
$(window).keydown(function(event){
if((event.which== 13) && event.target.nodeName != 'TEXTAREA') {
event.preventDefault()
return false;
}
});