用于“Ctrl”/“Shift”+鼠标左键单击的JavaScript或jQuery事件处理程序

是否有可能处理这样的事件:

  • Ctrl +鼠标左键点击;
  • Shift +鼠标左键点击;
  • Alt +鼠标左键点击使用JavaScriptjQuery或其他框架。

如果可能的话,请给出一个代码示例。

你可以做这样的事情(jQuery的点击处理程序,但任何框架在重要的部分):

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

只要处理内部的点击处理程序,如上面我想要的内容。

如果使用名为hotkeys的 JQuery插件,则可以处理下面的特殊键。

 $(document).bind('keydown', 'Ctrl+c', fn); 

最近我遇到了一个使用e.ctrlKey的问题,它不能在MAC上工作。 在Macintosh中,使用Command + Click可以达到相同的效果。

由于上面的大部分答案已经假定使用jQuery,所以可以简单地使用jQuery提供的e.metaKey属性。

例如

 $(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 } });