javascript - 以编程方式将键发送到输入字段?

标签 javascript html

我正在为带有自定义键盘的机顶盒编写 Web 门户。

键盘有大部分标准字符键,但没有退格键!

由于还有其他一些免费的自定义键,我想在输入字段或文本区域中将其中一个映射到退格键。

问题是:如何以编程方式将退格键发送到输入字段?

或者就此而言:如何以编程方式将任何键(如箭头键)发送到输入字段?

最佳答案

假设浏览器支持 W3C 事件模型,您可以创建一个 KeyEvent 并使用输入字段的 dispatchEvent 方法调度它。有一个 example (using MouseEvent)在 mozilla.org 上。在 where I last answered this question 上还有更多链接;-)

更新:以下代码已在 Firefox 3.5 中测试,并成功退格通过文本字段中的字符:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>

<script type="text/javascript">

window.onload = function() {
    var field = document.getElementById("foo");
    var button = document.getElementById("bar");
    button.addEventListener("click", function(event) {
        var keyEvent = document.createEvent("KeyboardEvent");
        keyEvent.initKeyEvent("keypress", true, true, null, false, false, false, false, 8, 0);
        field.dispatchEvent(keyEvent);
    }, false);
}

</script>

</head>
<body>
<div>
<input type="text" id="foo" value="abcdef">
<button id="bar" type="button">Fire key event</button>
</div>
</body>
</html>

关于javascript - 以编程方式将键发送到输入字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1472458/

相关文章:

javascript - Javascript 中的包装函数

javascript - 如何在浏览器的另存为对话框中更改自动填充的文件名?

html - 在 Chrome 中隐藏 HTML 时间输入字段上的图标

JavaScript 函数未定义错误(但已定义)

javascript - 被视为 div 的标签

javascript - Firebase - 获取包含的所有数据

javascript - SlickGrid.js 视口(viewport)可见性切换 Internet Explorer 问题

javascript - 状态更新可能是异步的

Javascript代码显示本地浏览器sqlite数据库

javascript - IE 的文本不透明度不起作用