プロが教える店舗&オフィスのセキュリティ対策術

JavaScript でキーを送る
のはどうしたらいいのでしょうか。
キーボードからではなく、自動的に任意のキーを押させたいのです。


// aキーのkeydownイベントを起こす
var _e = document.createEvent("KeyboardEvent");

_e.initKeyEvent("keydown", true, true, null, false, false, false, false, 65, 0);
document.getElementById("dummy").dispatchEvent(_e);

いろいろ検索して上記のも試しましたが、IE8では動作が確認できませんでした。
IEじゃ無理なんでしょうか。

A 回答 (1件)

よくわかんないけど…



どうせIEは独自仕様だろうと、少し調べてみました。
どうやらこれらしい。(↓)
http://msdn.microsoft.com/ja-jp/library/ms536423 …

手元にIE6しかないので、IE6でのみ確認。
<html>
<head><title>test</title>
<script type="text/javascript">
function test(evt) {
var e = evt.srcElement;
alert(e.tagName + ' / ' + evt.keyCode);
}

function fire() {
var obj = document.createEventObject();
obj.keyCode = 65;
document.body.fireEvent("onkeydown", obj);
}
</script>
</head>
<body onkeydown="test(event)">
<input type="button" value="発生" onclick="fire()">
</body>
</html>

>キーボードからではなく、自動的に任意のキーを押させたいのです。
でもkeydownそのものをシュミレートしなくてもよさそうな気もしますが…?(その結果のほうを実行/操作すればよさそう)
    • good
    • 0
この回答へのお礼

ありがとうございます IE8でも確認できました。

お礼日時:2010/01/22 10:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています