javascript - 如何防止在 html 中使用 javascript 单击 Enter 键时移动到下一页?

标签 javascript jquery html

我在 javascript 中有以下代码,以便从文本框和文本区域进行导航。问题是该功能工作正常,但是当单击 Enter 时,它会导航到下一个文本框,同时它会导航到下一页,如何防止在单击 Enter 键时导航到下一页。有人可以帮我吗谢谢。

 $('input[type="text"],textarea').keyup(function(e){
  if(e.which==39 || e.which==13)
   $(this).closest('td').next().find('input[type="text"],textarea').focus();
  else if(e.which==37 || e.which==8)
   $(this).closest('td').prev().find('input[type="text"],textarea').focus();
  else if(e.which==40 || e.which==13)
   $(this).closest('tr').next().find('td:eq('+$(this).closest('td').index()+')').find('input[type="text"],textarea').focus();
  else if(e.which==38 || e.which==8)
   $(this).closest('tr').prev().find('td:eq('+$(this).closest('td').index()+')').find('input[type="text"],textarea').focus();
 });

最佳答案

在文本输入的 keyDown 上,捕获输入(如果是 Enter 键)并防止默认行为:

$('input[type="text"],textarea').keydown(function () {
    if(event.keyCode == 13){
        event.preventDefault();
    } 
});

如果我没记错的话,keyDown 是防止默认输入操作所必需的,而不是 keyUp。但两者都尝试一下,看看哪个有效。

关于javascript - 如何防止在 html 中使用 javascript 单击 Enter 键时移动到下一页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21253851/

相关文章:

javascript - 执行上下文是否有定义的名称将所有其他内容封装在 JavaScript 中?

javascript - 更新/添加数据到 Google 电子表格数据库

jquery - node.js:jsdom 的问题 - jQuery 对象返回未定义

javascript - 我有 contenteditable div ,里面是一个不可编辑的跨度,如何通过跨度文本长按来标记 div 的文本

html - 选择表格中的一行时,它会切换到空白屏幕

javascript - 如何让Joi具有非凡的值(value)?

javascript - 检查特定属性/检查 puppeteer 中元素的陈旧性?

javascript - ajax $.get 回调报告为未定义

javascript - 如何使用 Javascript 对 HTML 表单进行错误检查,包括验证字段是否填写正确?

html - 嵌套的 div 不会用 min-height 100% 填充父 div