以编程方式将密钥发送到输入字段?
我使用自定义键盘编码机顶盒的网络入口。以编程方式将密钥发送到输入字段?
键盘有大部分标准字符键但没有退格键!
由于还有一些其他的免费自定义键,我要地图的其中之一,以退格键,当我在输入字段或文本区域来的。
的问题是:如何编程方式发送退格输入字段?
或与此有关:如何以编程方式发送的任何按键(如箭头键)输入字段?
如果你在一个网页浏览器,你可以不假实输入事件,例如键盘和鼠标事件(出于安全原因)。
但是,您将能够探测到其他的自定义键被按下,所以你可以为你想使用,当你发现它被挤压刚更新的输入域密钥的onKeyDown事件回应...
我希望它不会来,但我想这是唯一的解决方案,如果你说的是真的。 – KaptajnKold 2009-09-24 16:12:09
你当然*可以*创建和发送事件。 – NickFitz 2009-09-24 16:24:58
这并不完全符合您的要求,但Control-H与大多数情况下的退格键相同。
你是什么意思,但“控制-H”,发送CTRL + H? – erm3nda 2015-02-13 05:39:28
在我使用过的任何浏览器中,CTRL + H都会提供历史记录。 – PrinceTyke 2015-08-06 19:14:23
使用onkeypress和JavaScript。在脚本中,您可以检查输入的映射到退格的字符,并使其对字段中的文本执行该操作。
假设浏览器支持W3C事件模型,您可以创建一个KeyEvent
和调度,使用输入字段的dispatchEvent
方法。在mozilla.org上有example (using MouseEvent
)。也有一些更多的链接超过where I last answered this question ;-)
UPDATE:下面的代码已经在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>
不错!非常感谢。 – KaptajnKold 2009-09-25 09:05:40
唉!这在Opera或Webkit中不起作用。 – KaptajnKold 2009-09-25 09:22:57
看起来像WebKit不支持initKeyEvent - 我会看看我能否找到解决方法。 – NickFitz 2009-09-25 09:48:42
对不起。 STB =机顶盒。 – KaptajnKold 2009-09-24 16:09:25