我正在编写一个带有自定义键盘的机顶盒的门户网站.
键盘有大多数标准字符键但没有退格!
由于还有其他一些免费的自定义键,我想在输入字段或文本区域中将其中一个映射到退格键.
问题是:如何以编程方式将退格发送到输入字段?
或者就此而言:如何以编程方式将任何键(如箭头键)发送到输入字段?
假设浏览器支持W3C事件模型,您可以KeyEvent
使用dispatchEvent
输入字段的方法创建和分派.在mozilla.org上有一个例子(使用MouseEvent
).我上次回答这个问题的地方还有一些链接;-)
更新:以下代码已在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>
Run Code Online (Sandbox Code Playgroud)
如果您使用的是网络浏览器,则无法伪造真实的输入事件,例如键盘和鼠标事件(出于安全原因)。
但是,您将能够检测到按下的其他自定义键,因此您可以响应要使用的键的 onKeyDown 事件,并在检测到按下时更新输入字段...
归档时间: |
|
查看次数: |
18804 次 |
最近记录: |