虚拟键盘与Jquery
Virtual Keyboard with Jquery
我有一个作为按钮操作的div。一旦按钮被点击,我想让它模拟按下一个键。在Stackoverflow的其他地方,人们建议使用jQuery.Event("keydown");
,但这些建议都使用绑定在按钮上的.trigger()
,而不是.click
。因此,我的示例代码看起来像这样:
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。输入对象,如下所示:
$('#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游戏拾取按键
如果你想要一个虚拟键盘(如标题所示),你可以使用这个
相关文章:
- 将select2与jQuery虚拟键盘配合使用
- 用键盘分页jQuery下一个和上一个控件.触发器('点击')不'不起作用
- JQuery 滚动列表框模仿键盘导航
- 使用 jQuery 添加键盘导航
- jQuery网站的键盘快捷键,焦点使用左键和右键转到上一个或下一个元素
- 当没有用键盘激发时,jQuery上的文本更改事件
- 是否覆盖网站上文本输入区域的默认移动设备键盘?(HTML/JS/jQuery)
- Html通过jquery/javascript在iphone上保持键盘可见
- 使用jQuery要求用户按下键盘上的每个字母和数字
- 虚拟键盘jquery在引导模式中显示错误
- jQuery键盘功能键按下
- jquery键盘导航从特定的输入文本框
- 如何调整这个jquery键盘导航以允许其他标签和键盘功能
- firefox上的Javascript函数问题没有通过jquery键盘输入启动计数器(在Chrome和IE上工作)
- Jquery键盘事件触发器
- JQuery键盘css分配颜色的按钮(键)与某些类失败
- 不能得到动画jQuery键盘突出显示所选的键
- jQuery -键盘快捷键不起作用,直到点击进入浏览器窗口
- Jquery:键盘导航出现问题
- jQuery键盘快捷键插件unbind在我的演示中不工作,但没有显示任何错误