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

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

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

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

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

你可以做这样的事情(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 } }); 
  • JQuery:删除重复的元素?
  • 使用Javascript从加载的iframe中检索HTTP状态代码
  • 如果一个DOM元素被删除,它的监听器是否也从内存中删除?
  • 检查是否已经加载jquery,然后加载它,如果为false
  • 使用jQuery来select一个下拉选项
  • 在jQuery UI Datepicker中禁用将来的date
  • 使用Javascript / jQuery下载文件
  • 检测到jQuery UI自动完成没有结果
  • 如何显示popup消息,如在stackoverflow
  • 如何检测使用jQuery的页面刷新?
  • 使用jsonp内容types的jQuery.ajax请求之后的parseError