【发布时间】:2014-03-08 07:56:06
【问题描述】:
我似乎无法同时捕捉两个事件。我正在尝试捕获 Shift 和 Click(鼠标单击)事件。
我可以单独捕捉每个动作,但不能同时捕捉两个动作。
有人对这个特定问题进行过研究吗?
【问题讨论】:
标签: javascript jquery
我似乎无法同时捕捉两个事件。我正在尝试捕获 Shift 和 Click(鼠标单击)事件。
我可以单独捕捉每个动作,但不能同时捕捉两个动作。
有人对这个特定问题进行过研究吗?
【问题讨论】:
标签: javascript jquery
是的:
$(document).click(function(e) {
if (e.shiftKey) {
alert("shift+click")
}
});
【讨论】:
您可以检查 event.shiftKey 布尔属性。
$(selector).click(function(event) {
if (event.shiftKey) {
//....
}
});
【讨论】:
注意事项:
检测 Ctrl 或“Meta”(OS X 上的 Cmd 键)
$(document).click(function(e)
{
if (e.ctrlKey)
{
alert("ctrl+click");
}
});
$(document).click(function(e)
{
if (e.metaKey)
{
alert("CMD+click");
}
});
【讨论】:
如果我正确理解您的问题,您可以使用您在click 处理程序中收到的event 对象的shiftKey 属性来检查用户单击时shift 键是否按下。
编辑:shiftKey,而不是shift
【讨论】:
一个很好的处理按键事件的库是shortcut.js,可用here。非常好。
您甚至可以同时捕获 Crtl+Shift,这正是我想要的。
【讨论】: