Javascript 使用键事件和jquery将文本放入输入元素

Javascript 使用键事件和jquery将文本放入输入元素,javascript,jquery,html,keyevent,Javascript,Jquery,Html,Keyevent,我想使用jquery中的键事件将文本放入textarea输入元素。我知道它可以简单地用.val()或.html()函数来完成,但我想使用keyevents来放置文本是有原因的。以下是我的代码: <!DOCTYPE html> <html> <body> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <

我想使用jquery中的键事件将文本放入textarea输入元素。我知道它可以简单地用
.val()
.html()
函数来完成,但我想使用keyevents来放置文本是有原因的。以下是我的代码:

<!DOCTYPE html>
<html>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<p>In this example, the text field gets focus immediately after the document window has been loaded.</p>

<textarea id="myText"> </textarea>

<script>

$(function() {
  document.getElementById("myText").focus();
   $('#myText').focus().trigger({ type : 'keypress', which : 65 });
   $('#myText').trigger(jQuery.Event('keypress', { keyCode: 65 })); 

});


</script>

</body>
</html>

在本例中,文本字段在加载文档窗口后立即获得焦点

$(函数(){ document.getElementById(“myText”).focus(); $('#myText').focus().trigger({type:'keypress',which:65}); $('#myText').trigger(jQuery.Event('keypress',{keyCode:65})); });

我在谷歌上搜索了一下,发现使用jquery触发事件有两种不同的方式。我两个都试过了,但两个似乎都不起作用

看起来您的按键事件被触发了,但由于它只是一个事件,我不相信它会将您的值输入到字段中。如果您期望从您拥有的其他一些代码中在按键事件上发生一些事情,那么还有一些其他问题

如果您使用演示,您将看到按键事件触发

尝试以下代码,用新的按键值更改输入字段的值:

$(function() {
   $('#myText').trigger(jQuery.Event('keypress', { keyCode: 65 })).val($("#myText")
   .val() + String.fromCharCode(65));
});

看起来你的按键事件被触发了,但由于它只是一个事件,我不相信它会将你的值输入到字段中。如果您期望从您拥有的其他一些代码中在按键事件上发生一些事情,那么还有一些其他问题

如果您使用演示,您将看到按键事件触发

尝试以下代码,用新的按键值更改输入字段的值:

$(function() {
   $('#myText').trigger(jQuery.Event('keypress', { keyCode: 65 })).val($("#myText")
   .val() + String.fromCharCode(65));
});

问题得到了回答。由于安全原因,短键事件不会改变实际输入,但有一个名为“”的插件可以帮助您解决问题。

问题已得到回答。由于安全原因,短键事件不会改变实际输入,但是有一个名为“”的插件可以帮助您解决问题。

$(“body”).bind('keydown',function(e){if(event.keyCode==13){//enter$('#myText').val('enter');})类似的东西?不。就像我说的,我已经知道怎么做了。
$(“body”).bind('keydown',function(e){if(event.keyCode==13){//enter$('myText').val('enter');}})
类似的东西?不。像我说的,我已经知道怎么做了。