我有一个我想要执行的输入字段。通常我会按document.getElementById("myinput").click()
来做,但它是一个输入,所以我必须通过模拟输入来执行它。
我想要document.getElementById("myinput").performEnter();
我是从How to trigger the enter keypress找到的:
var e = $.Event( "keypress", { which: 13 } );
$('#yourInput').trigger(e);
但是有没有办法只在JavaScript中执行此操作?
答案 0 :(得分:1)
您可以创建自定义事件,并将其与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>