我想在用户单击按钮时模拟按键。我已经尝试过 Stackoverflow 上的一些相关问题,但似乎没有任何效果。在我的代码中,我希望当用户单击按钮 s 时出现 s 。 到目前为止我已经:
<!DOCTYPE HTML>
<html>
<head>
<script>
function genkey()
{
var event = document.createEvent('Event');
event.initEvent('keypress', true, true);
event.keyCode = 115;
document.dispatchEvent(event);
}
function clicked()
{
document.getElementById('mytxt').focus();
genkey();
}
function myattachevent(obj, eventnaam, func, useCapture)
{
try
{
if (obj.attachEvent)
obj.attachEvent('on' + eventnaam, func);
else
if (obj.addEventListener)
obj.addEventListener(eventnaam, func, useCapture);
else
alert('both attachEvent and addEventListener do not exist!!');
}
catch (err)
{
alert('exception in myattacheevent');
}
}
function keydownfunc(event)
{
alert('keycode = ' + event.keyCode);
}
function initpage()
{
myattachevent(document, 'keypress', function(event){keydownfunc(event)}, false);
}
</script>
</head>
<body onLoad="initpage();">
<INPUT type="button" VALUE='s' onClick="clicked() ;return false;">
<br>
<input type="text" id="mytxt" value='hi' size=10 maxlength=10>
<br>
</body>
</html>
最佳答案
如果您只想在按下按钮时将字符“s”显示在输入框中,则可以将字符附加到输入框
function clicked(){
document.getElementById('mytxt').value += 's';
}
<INPUT type="button" VALUE='s' onClick="clicked();return false;">
<br>
<input type="text" id="mytxt" value='hi' size=10 maxlength=10>
<br>
关于javascript - 如何模拟文本字段(或其他输入字段)的按键并让浏览器执行该按键的默认操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38697740/