javascript - 对元素/输入执行 "enter"

标签 javascript jquery html

我有一个要执行的输入字段。通常我会通过 document.getElementById("myinput").click() 来完成,但它是一个输入,所以我必须通过模拟输入来执行它。

我想要类似document.getElementById("myinput").performEnter();的东西

我从 How to trigger the enter keypress 找到了这个:

var e = $.Event( "keypress", { which: 13 } );
$('#yourInput').trigger(e);

但是有没有办法只在 JavaScript 中做到这一点?

最佳答案

您可以创建自定义事件并将其与 JQuery 的 .trigger() 一起使用。 方法。

var $txt = $("#txt");
var $btn = $("button");

$txt.on("keydown", function(evt){
  if(evt.keyCode === 13){
      // Create a custom event and pass to the button
      var e = $.Event("keydown");
      e.which = 13;   // ENTER
      e.keyCode = 13;
      $btn.trigger(e);  // Trigger the event for the button
  }
});

// Here is the code for a test button
$btn.on("keydown", function(evt){
  if(evt.keyCode === 13){
    console.log("You pressed ENTER in the text box and triggered the keydown event with ENTER!");
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="txt">

<button>Test Button</button>

关于javascript - 对元素/输入执行 "enter",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44050891/

相关文章:

javascript - Jquery移动表单数据在单个文件中的两个页面之间提交?

html - 如何在第一个字符之前按字母顺序从上到下排列名称

html - 如何使用 bootstrap 使图像和文本垂直居中?

javascript - Angular 范围不会按预期影响 ng-show

javascript - 当原型(prototype)包含对象时访问 `this` 值?

jquery - 在 Bootstrap 数据表中创建一个新行

html - 如何对 bootstrap 3 中的列重新排序?

javascript - jQuery 插件冲突

javascript - 具有垫表初始化的 Angular Material 2分页器

javascript - 针对动态添加的元素