- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:jQuery IEでctrl + click判別)
jQuery IEでctrl + click判別
このQ&Aのポイント
- jQueryを使用して、HTMLのpタグでくくった要素をクリックした際にctrlキー + クリックしたかどうかを判別する方法を知りたいです。
- 現在の処理では、ChromeやFirefoxではctrlキー + クリックを判別できますが、IEでは判別できないです。
- IEでもctrl + clickされたことを取得する方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
質問者さんのソースコードで問題なく動くと思います。 私は、Windows10のIE11と、そのエミュレートによるIE9で動作を確認しました。 デモとそのソースコードをギットハブで公開しているので、確認をお願いします。
その他の回答 (1)
- pringlez
- ベストアンサー率36% (598/1630)
回答No.1
そもそも論で、クリックイベントでキーボードの入力状態をとれることの方が特殊に感じます。最新のChromeとFirefoxで使えたとしても今後のバージョンでサポートされ続けるかわからない機能だと思います。そんな機能は使わない方がいいと思います。 今回のあなたのやりたいことを実現させるには通常、kedownイベントでCtrlキーだったらグローバル変数のフラグをtrueにし、keyupでfalseにする。で、clickイベント時にフラグを見て処理分けをすればいいと。キーイベントとマウスイベントは別々に処理するのが王道です。
質問者
お礼
pringlez様 ご連絡が遅くなってしまいまして、大変失礼致しました。 ご回答いただきまして、ありがとうございます。 キーボードでのイベントとマウスでのイベント、別々に処理をするということでとても勉強になりました。 別々に処理をした形で実装していたのですが、まだIEでアラートを出せないでおりますが、引き続き対応していきたいと思います。 ご教授いただきまして、とても助かりました。 どうもありがとうございます。
お礼
sutara79様 ご回答いただきまして、ありがとうございます。 GitHubにてソースを共有いただきまして、大変強縮です。 こちらのソースで私の環境で試してみましたところ、IE9,8でアラートが表示されることを確認致しました。 pringlez様にご回答いただきました内容を元に私の方で試しているソースに近い形ですが、読み込んでいるjQueryのバージョンも合わせているのに私の方でアラートが出ないので、HTMLのボタンのコーディングの違いかもしれません。 アラートが出る形でソースをいただいておりますので、こちらを元に私がコーディングしましたHTMLの方を修正していきたいと思います。 ご教授いただきまして、とても助かりました。 どうもありがとうございます。