javascript - 如何禁用文本输入的正常提交输入行为并将其替换为我自己的功能?

标签 javascript jquery html

我已经尝试了很多在 stackoverflow 和其他地方找到的修复程序,但我无法使它们中的任何一个正常工作。他们要么在所有地方禁用回车键,要么根本不起作用(或者没有正确解释)。

我需要正常提交输入键行为来处理除此文本输入之外的所有其他元素,并在选择文本输入时将其替换为我自己的函数。

最佳答案

How to get whether the Enter is pressed ?

$('input.the-one-text-input').keydown(function(e) {
  if(e.keyCode == 13) { // enter key was pressed
    // run own code
    return false; // prevent execution of rest of the script + event propagation / event bubbling + prevent default behaviour
  }
});

另请注意该页面上的 this comment:

** If anyone has reached this from Google (like I did), know that "keyup" instead of "keypress" works in Firefox, IE, and Chrome. "keypress" apparently only works in Firefox.

这不再是 100% 正确,因为它也适用于 Chrome。但是,如果它在 IE 中仍然不起作用,我也不会感到惊讶。

关于javascript - 如何禁用文本输入的正常提交输入行为并将其替换为我自己的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9885573/

相关文章:

javascript - 如何修复跳过每次点击按钮倒计时的时间? (或每次点击重置倒计时)

javascript - VueJs + Laravel - 类按钮组件

javascript - 使用 Javascript not 运算符时出现奇怪的结果

jquery - 更改 jQuery.scroll() 上 DOM 元素的位置会导致滚动不稳定

Jquery - 循环遍历具有特定类的每个 div 并根据其宽度应用新类

javascript - 如何以相反的顺序获取indexedDB游标的结果

javascript - 延迟加载?/仅在视口(viewport)中可见时加载图像

javascript - 制作 HTML 字符串的数组集

javascript - 自动替换 JavaScript 中的大量内容字符串

HTML 表格不能跨越多个列的文本框