2010-10-06 6 views
10

У меня есть элемент div. Мне нужно щелкнуть мышью по этому div, пока нажата клавиша alt-key (keyCode = 17).jQuery: Как поймать keydown + событие мыши?

Вот что я должен поймать нажатие клавиши:

 
// Html 
<div id="targetDiv">I want to put a ding in the universe.</div> 
 
// Java-script 
$(document).ready(function(){ 
    $(window).bind('keydown', function(event){ 
     if (17 == event.keyCode) { 
      // How to catch mouse click on $('#targetDiv') ? 
     } 
    }); 
}); 

Как поймать мыши на DIV, а альт-клавиша нажата?

+0

Возможный дубликат [Проверить Ctrl/Shift/Alt на событие «click») (http://stackoverflow.com/questions/2847135/check-ctrl-shift-alt-keys-on-click-event) и http://stackoverflow.com/questions/2445613/ и http://stackoverflow.com/questions/3781142/ –

+0

Хороший вопрос. Я задаюсь вопросом о состоянии гонки с кодом и пользователем в некоторых возможных опубликованных решениях. –

+0

Mark: Javascript по сути является однопоточным, поэтому условия гонки становятся беспроблемными. –

ответ

25

Вы можете проверить .altKey property, например:

$(function() { 
    $("#targetDiv").click(function(event) { 
    if (event.altKey) { 
     //do something, alt was down when clicked 
    } 
    }); 
}); 

You can test it out here.

+0

Хорошее решение для прослушивания события клика в первую очередь. Благодарю. – SaltLake

+2

это для Alt. Для Ctrl используйте event.ctrlKey – Igorock

Смежные вопросы