gpt4 book ai didi

javascript - 使用 Jquery 的虚拟键盘

转载 作者:行者123 更新时间:2023-12-02 18:53:06 26 4
gpt4 key购买 nike

我有一个用作按钮的 div。单击按钮后,我希望它模拟按下按键。在 Stackoverflow 上的其他地方,人们建议使用 jQuery.Event("keydown"); 但这些建议都使用绑定(bind)到按钮的 .trigger() 而不是 .单击。所以,我的示例代码如下所示:

var press = jQuery.Event("keydown");
press.which = 69; // # The 'e' key code value
press.keyCode = 69;

$('#btn').click( function() {
$('#testInput').focus();
$(this).trigger(press);
console.info(press);
});

我在 JSFiddle 设置了一个虚拟示例: http://jsfiddle.net/ruzel/WsAbS/

最终,我不想让按键填充表单元素,而是想将事件作为按键注册到文档中,以便 MelonJS 游戏可以拥有它。

更新:出于安全原因,看起来使用键盘以外的任何东西触发按键很可能会被浏览器忽略。为了更新文本输入,这个非常好的 Jquery 插件可以做到这一点:http://bililite.com/blog/2011/01/23/improved-sendkeys/

对于任何来这里寻找 MelonJS 案例解决方案的人来说,最好使用 MelonJS 的 me.input 对象,如下所示:

$('#btn').mousedown(function() {
me.input.triggerKeyEvent(me.input.KEY.E, true);
});

$('#btn').mouseup(function() {
me.input.triggerKeyEvent(me.input.KEY.E, false);
});

最佳答案

我不知道为什么,但即使这个正确触发了事件,它也没有用字符填充输入。

我修改了代码,以显示当我们说 $(document).trigger(p)

时,文档确实正在接收按键事件

尝试一下: http://jsfiddle.net/WsAbS/3/

var press = jQuery.Event("keydown");
press.which = 69; // # Some key code value
press.keyCode = 69;
press.target = $('#testInput');


$(document).on('keydown', function(event) {
alert(event.keyCode);
});

$('#btn').click( function() {
$(document).trigger(press);
});

我相信这对于您的 MelonJS 游戏拾取按键的最终目标来说应该足够好了。

关于javascript - 使用 Jquery 的虚拟键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15624258/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com