11
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

イベント発動時に、とあるキーを押す方法

Last updated at Posted at 2018-03-23

きっかけは、event.initEventを使うと、エラーが出てしまったから。(調べたら、非推奨だし、対応していない?)

流れとしては、「イベント登録 → キーが押される動作の設定 → $(document).triggerで登録したイベントを発動」でした。勘違いしていたけど、keyCodeを入れると、そのイベント発動時に押したことになるらしい。

JavaScriptで直で書こうとすると、なかなか出来なかったので、Jqueryの力を借りた。
以下のコードで、イベント呼び出し時に設定したキーが押されたことになる。

// 変数Key_eventをイベント登録する、keyupなのでキーが押されて上がった際に発動
  var key_event = $.Event('keyup'); 

// イベント発動時に「Fキーを押す」の登録
  key_event.keyCode = 70;
  key_event.which = 70; 

// イベントの発動
  $(document).trigger (key_event); 

$.Event('keyup').keyCode は、押されたボタンのキーコードを取得するもので、これをFのキーコードにすると、
イベント発動時にFキーを押したことになる。

$.Event('keyup').which というのは、キーボードまたはマウスでのイベント用で、押されたボタンに紐付けられた
キーコードを取得する。
http://js.studio-kingdom.com/jquery/events/event_which

あれ、which と keyCode は同じ意味なのかなと思って調べたら、開くブラウザで動きが違うらしい・・・。
Whichは、FireFox用。
https://stackoverflow.com/questions/4471582/keycode-vs-which

11
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?