• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:jQuery IEでctrl + click判別)

jQuery IEでctrl + click判別

このQ&Aのポイント
  • jQueryを使用して、HTMLのpタグでくくった要素をクリックした際にctrlキー + クリックしたかどうかを判別する方法を知りたいです。
  • 現在の処理では、ChromeやFirefoxではctrlキー + クリックを判別できますが、IEでは判別できないです。
  • IEでもctrl + clickされたことを取得する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

質問者さんのソースコードで問題なく動くと思います。 私は、Windows10のIE11と、そのエミュレートによるIE9で動作を確認しました。 デモとそのソースコードをギットハブで公開しているので、確認をお願いします。

参考URL:
https://github.com/sutara79/demo-jq-ctrlkey
yama-maron
質問者

お礼

sutara79様 ご回答いただきまして、ありがとうございます。 GitHubにてソースを共有いただきまして、大変強縮です。 こちらのソースで私の環境で試してみましたところ、IE9,8でアラートが表示されることを確認致しました。 pringlez様にご回答いただきました内容を元に私の方で試しているソースに近い形ですが、読み込んでいるjQueryのバージョンも合わせているのに私の方でアラートが出ないので、HTMLのボタンのコーディングの違いかもしれません。 アラートが出る形でソースをいただいておりますので、こちらを元に私がコーディングしましたHTMLの方を修正していきたいと思います。 ご教授いただきまして、とても助かりました。 どうもありがとうございます。

その他の回答 (1)

  • pringlez
  • ベストアンサー率36% (598/1630)
回答No.1

そもそも論で、クリックイベントでキーボードの入力状態をとれることの方が特殊に感じます。最新のChromeとFirefoxで使えたとしても今後のバージョンでサポートされ続けるかわからない機能だと思います。そんな機能は使わない方がいいと思います。 今回のあなたのやりたいことを実現させるには通常、kedownイベントでCtrlキーだったらグローバル変数のフラグをtrueにし、keyupでfalseにする。で、clickイベント時にフラグを見て処理分けをすればいいと。キーイベントとマウスイベントは別々に処理するのが王道です。

yama-maron
質問者

お礼

pringlez様 ご連絡が遅くなってしまいまして、大変失礼致しました。 ご回答いただきまして、ありがとうございます。 キーボードでのイベントとマウスでのイベント、別々に処理をするということでとても勉強になりました。 別々に処理をした形で実装していたのですが、まだIEでアラートを出せないでおりますが、引き続き対応していきたいと思います。 ご教授いただきまして、とても助かりました。 どうもありがとうございます。

関連するQ&A