我正在尝试用 jquery 模拟键盘事件。我想要的是当我单击一个按钮时,我希望一个字符出现在文本区域中。我需要动作是键盘模拟而不是简单的附加。我在网上尝试了所有可能的解决方案,但都没有成功,所以如果有人能帮助我,我将不胜感激。
这是我的 HTML/JS/Jquery 代码:
<html>
<head></head>
<body>
<script type='text/javascript' src='jquery-1.9.1.min.js'></script>
<input type='text' id="input"></input>
<script type='text/javascript'>
function simulateKeyPress() {
document.getElementById("text").focus();
var e = $.Event("keypress");
e.which = 97;
$("input").trigger(e);
}
</script>
<br/>
<button id="button" onclick='simulateKeyPress()'>Press Me</button>
</body>
</html>
如您所见,单击按钮时,我只关注文本元素,但没有出现任何字符,有什么想法吗?
看起来我还不够清楚。这是另一个示例,我正在使用MouseTrap库来捕获键盘事件。这是我的代码。
<html>
<header>
<title>test</title>
</header>
<script type='text/javascript' src='MouseTrap.js'></script>
<script type='text/javascript' src='jquery-1.9.1.min.js'></script>
<body>
<input type='text' class="mousetrap" id="input"></input>
<script type='text/javascript'>
Mousetrap.bind('4', function(){alert("you pressed 4" );});
function simulateKeyPress(character) {
document.getElementById("input").focus();
var input = $('#input');
input.val(input.val() + character);
}
</script>
<br/>
<button type="button" onclick='simulateKeyPress(4)'>Press Me</button>
</body>
</html>
使用此代码,每当您在键盘上按“4”时,都会出现一个警告框。我想要的只是当我单击按钮时,要创建相同的事件。想法?