アプリ版:「スタンプのみでお礼する」機能のリリースについて

JavaScriptのイベント処理で質問なのですが、
keydownなどのキーイベントを、実際にキーを押さずに擬似的に「このキーが押された」というイベントを発生させることは可能でしょうか?
そもそも不可能ではと思っているのですが
もしそういうテクニックがあるのならと思い質問させていただきました。

また、JavaScriptでは無理だがFirefoxのアドオンなら可能といった情報があればぜひ教えていただきたいと思います。

A 回答 (2件)

>keydownを使わないとして


いや、言ってない、言ってない(笑)

対応ブラウザとかは検討してないけど、一応規格にはあると思う。
(つーかDOM 3だからIEで出来ない可能性濃厚)

document.createEventのソースコード
https://developer.mozilla.org/en/DOM/document.cr …

event.initKeyEvent(GeckoはDOM 2時代のものをベースに組んでいるからinitKeyBoardEventを使うらしい)
https://developer.mozilla.org/en/DOM/event.initK …

element.dispatchEvent
https://developer.mozilla.org/en/DOM/element.dis …

を組み合わせていけるんじゃないかと。
    • good
    • 0
この回答へのお礼

返答が遅くなりました。

いただいた情報をもとに試しに以下のように組みました。
Firefox3で問題なく動いているようです。

// aキーのkeydownイベントを起こす
var _e = document.createEvent("KeyboardEvent");
_e.initKeyEvent("keydown", true, true, null, false, false, false, false, 65, 0);
document.getElementById("dummy").dispatchEvent(_e);

回答ありがとうございました!助かりました!

お礼日時:2009/02/05 15:11

状況がよくわからないのですが


keydownを使わないとして何をトリガーにイベントを発生させるのでしょうか?
具体的に提示なさったほうがよいと思います

この回答への補足

確かに具体的に説明しないと分かりにくいですね。失礼しました。

やりたいことは、
iFrameを作り、
フレームの外で何かをクリックしたときに
フレームの中のページのkeydownイベントを起こす
というものです。

イベントハンドラ関数を呼ぶだけならできるのかもしれないですが
そのとき「どのキーが押されたかどうか」を
擬似的に設定するのはやっぱり無理ですかね。

補足日時:2009/01/30 11:55
    • good
    • 2
この回答へのお礼

返答が遅くなりました。回答ありがとうございました!

お礼日時:2009/02/05 15:06

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