私はJavascriptでイベントリスナーを持っていますが、キーイベントがCtrl (e.keyCode == 17)
であるかどうかを知ることができますが、このCtrlが正しいものか左のものかをどのように知ることができますか?イベントが右のCtrlキーから来るかどうかを確認する方法はありますか?
答えて
私はkeyCodeが違うとは思わない。
e.ctrlKey
を使用すると、コントロールキーが押されたかどうかをより正確に判断できます。
フラッシュcan not tell which one is pressedのいずれか(そのか間違っているかのいずれか)のようです。
抽象化されています。例えば。私は自分のUbuntuキーボード設定で、それぞれに異なるオプションを選択することができます。 –
低レベルで2つを区別するソフトウェアを確実に書くことができるため、ハードウェアレベルで抽象化することはできません。しかし、おそらくOSレベルで抽象化されています。 –
MSIEは、左右のCtrlキーを区別することができます。その点について私の答えを見てください。役に立つ情報は –
ちょっとした注意:適切なコントロールキーが利用できるかどうかはアーキテクチャ/デザインに基づいていません。多くのノートパソコンのキーボードには2つのコントロールキーがない場合があります。
+1です。 – alex
MSIEはほとんどのイベントでctrlLeft
プロパティを提供します。プロパティの値は次のとおりです。
true
左キーが押されなかった場合、左キーがイベントfalse
中に押された場合。
あなたは右Ctrlキーが押されたかどうかを判断するためにevent.ctrlKey
とevent.ctrlLeft
を組み合わせることができます。
if (event.ctrlKey) {
if (event.ctrlLeft) {
// left Ctrl key pressed
} else {
// right Ctrl key pressed
}
} else {
// no Ctrl key pressed
}
注Ctrlキーはもう押されていないので、keyup
でctrlLeft
プロパティが定義されていないこと。
MSIE7およびMSIE9でテストしました。 Firefoxでは動作しません。
詳細はhttp://help.dottoro.com/ljqlvhuf.phpを参照してください。
残念なことに、それはIEだけの場合はあまり役に立ちません。 – alex
あなたはそれをトレースした場合は、同じキーが両方のために使用されている(17)を見つけるだろう..私はこれを頼まれたとき、それが利用可能であった場合、私は知らない、
を区別することは不可能であると思いますが、あなたはと同様にaltとshiftを区別することができます。これで、KeyboardEvent.DOM_KEY_LOCATION_ *プロパティを使用してこの区別を行うことができます。
Can javascript tell the difference between left and right shift key?
は注意してくださいしかし、私は、Chromeはその実装に欠陥を持っているように見えることを発見しました。 How can I distinguish left- and right- shift, ctrl, and alt keys onkeyup in Chrome with Javascript
それは右の1 2のため1になります左Ctrlキーのevent.location
プロパティがありますが、あなたはあなたがすることはできませんcanIuse
if (e.which == 17) {
if (event.location == 1) {
// left ctrl key
} else if (event.location == 2) {
// right ctrl key
}
}
- 1. 変数がどこから来ているかを確認する良い方法はありますか?
- 2. Firebase - アメリカのどの州から来ているのかを確認する方法はありますか?
- 3. Python 2.7 - SHIFT-KEYまたはCTRL +キーが押されているかどうかを確認する方法は?
- 4. VimでCtrlキーとCtrlキーをマップする方法はありますか?
- 5. RedisTemplateにキーが存在するかどうかを確認する方法はありますか?
- 6. Pythonで特定のキーが押されたかどうかを確認する方法はありますか?
- 7. ハッシュテーブルでキーがヌルかどうかを確認する方法
- 8. DOMContentLoadedイベントがiframeかどうかを確認する方法はありますか?
- 9. 私はGACかどうかを確認する方法はありますか?
- 10. エバーモデルにキーがあるかどうかを確認する方法
- 11. アプリケーションがデスクトップショートカットから起動しているかどうかを確認する方法はありますか?
- 12. バッチファイルから、プログラムがインストールされているかどうかを確認する方法はありますか?
- 13. ctrl-cをキャッチしてユーザーに確認する方法はありますか?
- 14. ポインタがぶら下がっているかどうかを確認する方法はありますか?
- 15. ピボットキャッシュがリフレッシュする必要があるかどうかを確認する方法はありますか?
- 16. ブックマークがあるかどうかを確認する方法
- 17. データが ""であるかどうかを確認する方法
- 18. 応答があるかどうかを確認する方法
- 19. NSTableViewの特定のビューにマウスがあるかどうかを確認する方法はありますか?
- 20. SilverlightのDataGridにフォーカスがあるかどうかを確認する方法はありますか?
- 21. HttpResponseがSpringインターセプタのリダイレクトであるかどうかを確認する方法はありますか?
- 22. ComboBoxにJavaFXの項目があるかどうかを確認する方法はありますか?
- 23. 文字列が正の整数であるかどうかを確認する方法はありますか?
- 24. iOSアプリがPusher Gemのバックグラウンドにあるかどうかを確認する方法はありますか?
- 25. インデックスがSQL Serverのシステムインデックスであるかどうかを確認する方法はありますか。
- 26. Pythonの構造に順序があるかどうかを確認する方法はありますか?
- 27. 2つのイメージファイルが同じであるかどうかを確認する方法はありますか?
- 28. IPPのフレームがIDRフレームであるかどうかを確認する方法はありますか?
- 29. ディレクトリがBashのパス上にあるかどうかを確認する方法はありますか?
- 30. インスタンスがPysparkのデータフレームにあるかどうかを確認する方法はありますか?
にブラウザのサポートを確認することができます参照してください。ごめんなさい。あなたの痛みが分かります。 – zzzzBov