是否可以处理以下事件:
如果可能的话,请给出一个代码示例。
答案 0 :(得分:114)
你可以做这样的事情(点击处理程序的jQuery,但任何框架都适用于重要的部分):
$(selector).click(function(e) {
if(e.shiftKey) {
//Shift-Click
}
if(e.ctrlKey) {
//Ctrl+Click
}
if(e.altKey) {
//Alt+Click
}
});
只需处理点击处理程序中if
内的任何内容,就像我上面一样。
答案 1 :(得分:9)
如果你使用名为hotkeys的JQuery插件,你可以处理下面的特殊键。
$(document).bind('keydown', 'Ctrl+c', fn);
答案 2 :(得分:7)
最近我遇到了使用e.ctrlKey
的问题,它在MAC上不起作用。
在Macintosh中,使用Command + Click可以获得相同的效果。
由于上面的大多数答案都已经假定使用了jQuery,你可以简单地使用jQuery提供的e.metaKey
属性。
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
}
});