为了账号安全,请及时绑定邮箱和手机立即绑定

除其中一项输入外,禁用整个表单的 Enter 键

除其中一项输入外,禁用整个表单的 Enter 键

隔江千里 2023-07-06 19:42:59
我需要 Enter 键才能仅在 HTML 上的 textarea 中处于活动状态form。我的 Javascript/jQuery 代码现在看起来像这样:$('#formId').on('keyup keypress', function (e) {var keyCode = e.keyCode || e.which;if (keyCode === 13) {//if this is textarea return true;    e.preventDefault();    return false;}});我需要检查焦点是否在此表单内的文本区域上并允许用户按 Enter 键。
查看完整描述

1 回答

?
慕村225694

TA贡献1880条经验 获得超4个赞

我会使用该keydown事件,因为它首先被触发。


您只需添加额外的比较来检查触发事件的元素的 tagName 。


$('#formId').on('keydown', function(e) {

  var keyCode = e.keyCode || e.which;

  var tag = e.target.tagName

  if (keyCode === 13 && tag !=="TEXTAREA") {

    console.log("Enter prevented")

    e.preventDefault();

    return false;

  }else{

    console.log("Enter is ok...")

  }

});

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<form id="formId">

<input type="text" value="ENTER does not work here"/><br>

<textArea>ENTER works here</textarea>

</form>


查看完整回答
反对 回复 2023-07-06
  • 1 回答
  • 0 关注
  • 90 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信