Ответ 1
Да:
$(document).click(function(e) {
if (e.shiftKey) {
alert("shift+click")
}
});
Кажется, я не могу одновременно захватить два события. Я пытаюсь захватить событие Shift и Click (щелчок мыши).
У меня нет проблем, фиксируя каждое действие отдельно, но не вместе.
Кто-нибудь сделал некоторые исследования по этой конкретной проблеме?
Да:
$(document).click(function(e) {
if (e.shiftKey) {
alert("shift+click")
}
});
Вы можете проверить свойство event.shiftKey boolean.
$(selector).click(function(event) {
if (event.shiftKey) {
//....
}
});
Замечание:
для обнаружения Ctrl или "Meta" (клавиша Cmd на OS X)
$(document).click(function(e)
{
if (e.ctrlKey)
{
alert("ctrl+click");
}
});
$(document).click(function(e)
{
if (e.metaKey)
{
alert("CMD+click");
}
});
Если я правильно понял ваш вопрос, вы можете использовать свойство shiftKey
объекта event
, которое вы получаете в своем обработчике click
, чтобы проверить, не был ли клавиша смены нажата.
EDIT: shiftKey
, not shift
Хорошей библиотекой для обработки событий нажатия клавиш является shortcut.js, доступный здесь. Это очень хорошо.
Вы можете даже захватить Crtl + Shift одновременно, что я искал.