使用键事件和 jquery 将文本放入输入元素
Posted
技术标签:
【中文标题】使用键事件和 jquery 将文本放入输入元素【英文标题】:Putting text into an input element using key events and jquery 【发布时间】:2017-06-28 04:01:32 【问题描述】:我想使用 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>
我用 google 搜索了一下,发现使用 jquery 触发事件有两种不同的方式。我都尝试了,但似乎都没有工作。
【问题讨论】:
$("body").bind('keydown', function(e) if (event.keyCode == 13) // enter $('#myText').val('ENTER'); )
是这样的吗?
没有。就像我说的那样,我已经知道该怎么做了。
【参考方案1】:
看起来您的按键事件被触发了,但由于它只是一个事件,我不相信它实际上会将您的值输入到该字段中。如果您期望您拥有的其他代码在按键事件上发生某些事情,那么还有其他一些问题。
如果您使用this fiddle 进行演示,您将看到按键事件触发。
试试下面的代码,用新的按键值改变输入字段的值:
$(function()
$('#myText').trigger(jQuery.Event('keypress', keyCode: 65 )).val($("#myText")
.val() + String.fromCharCode(65));
);
【讨论】:
【参考方案2】:问题已回答over there。由于安全原因,短键事件不会改变实际输入,但有一个名为“The $.fn.sendkeys Plugin”的插件可以帮助您解决问题。
【讨论】:
以上是关于使用键事件和 jquery 将文本放入输入元素的主要内容,如果未能解决你的问题,请参考以下文章