JavaScript or jQuery event handlers for “Ctrl”/“Shift” + mouse left button click

后端 未结 3 1809
余生分开走
余生分开走 2020-12-04 17:19

Is it possible to handle such events as:

  • Ctrl + mouse left button click;
  • Shift + mouse left button click;
  • Alt
相关标签:
3条回答
  • 2020-12-04 17:50

    More recently I encountered a problem with using e.ctrlKey in that, it does not work on MACs. In a Macintosh, the same effect is achieved using Command+Click.

    Since most of the answers above are already assuming usage of jQuery, you can simply use the e.metaKey property which is made available by jQuery.

    e.g.

    $(selector).click(function(e) {
      if(e.shiftKey) {
        //Shift-Click
      }
      if(e.metaKey) {
        //Ctrl+Click on Windows & Command+Click on Mac.
      }
      if(e.altKey) {
        //Alt+Click
      }
    });
    
    0 讨论(0)
  • 2020-12-04 17:51

    If you use JQuery plugin called hotkeys you can handle the special keys below.

    $(document).bind('keydown', 'Ctrl+c', fn);
    
    0 讨论(0)
  • 2020-12-04 17:56

    You can do something like this (jQuery for the click handler, but any framework works on the part that matters):

    $(selector).click(function(e) {
      if(e.shiftKey) {
        //Shift-Click
      }
      if(e.ctrlKey) {
        //Ctrl+Click
      }
      if(e.altKey) {
        //Alt+Click
      }
    });
    

    Just handle whichever you want inside an if inside the click handler like I have above.

    0 讨论(0)
提交回复
热议问题