return-键不适用于许多文本区域
return-key not working for many textareas
我有一个表单,我阻止了用户使用 enter/return 键提交表单。
我在表单上有两个文本区域,我想让 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!
但是,此代码仅适用于第一个文本区域。第二个文本区域中的 enter/return 键不起作用。
我曾多次尝试让它在 1 个以上的文本区域中工作,但我所有的尝试都失败了。
有什么建议吗?
谢谢。
您可以使用 if 来检查触发事件的节点是否不是 textarea
。如果不是,则不允许使用 enter/return
$(window).keydown(function(event){
if((event.which== 13) && event.target.nodeName != 'TEXTAREA') {
event.preventDefault()
return false;
}
});
试试这个解决方案。
它确实禁用了表单提交的 enter
键,并且它确实允许 enter
键在 all 文本区域中创建新行,如中所述你的 post.
$(document).on("keypress", ":input:not(textarea)", function(event) {
if (event.keyCode == 13) {
event.preventDefault();
}
});
我有一个表单,我阻止了用户使用 enter/return 键提交表单。
我在表单上有两个文本区域,我想让 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!
但是,此代码仅适用于第一个文本区域。第二个文本区域中的 enter/return 键不起作用。
我曾多次尝试让它在 1 个以上的文本区域中工作,但我所有的尝试都失败了。
有什么建议吗?
谢谢。
您可以使用 if 来检查触发事件的节点是否不是 textarea
。如果不是,则不允许使用 enter/return
$(window).keydown(function(event){
if((event.which== 13) && event.target.nodeName != 'TEXTAREA') {
event.preventDefault()
return false;
}
});
试试这个解决方案。
它确实禁用了表单提交的 enter
键,并且它确实允许 enter
键在 all 文本区域中创建新行,如中所述你的 post.
$(document).on("keypress", ":input:not(textarea)", function(event) {
if (event.keyCode == 13) {
event.preventDefault();
}
});