【发布时间】:2015-07-11 20:59:21
【问题描述】:
假设我们有一个输入,我们想向它添加一些文本:
<form>
First name:<br>
<input type="text" id="thename" name="firstname">
</form>
简单的事情是使用经典的 element.value... 为输入添加价值。
但是如果我想通过模拟keypress 事件来添加例如“David”呢?
我遵循了以下几种方法:
function simulateKeyEvent(character) {
var evt = document.createEvent("KeyboardEvent");
(evt.initKeyEvent || evt.initKeyboardEvent)("keypress", true, true, window,
0, 0, 0, 0,
0, character.charCodeAt(0))
var canceled = !body.dispatchEvent(evt);
if(canceled) {
// A handler called preventDefault
alert("canceled");
} else {
// None of the handlers called preventDefault
alert("not canceled");
}
}
取自 here 并阅读了几乎所有解决方案,但它们都不起作用。
注意:我正在使用 Firefox 和 Chrome
【问题讨论】:
标签: javascript dom-events jscript