2013-02-08 5 views
0

Я использую window.history и перехватывать ссылку щелчки:Не preventDefault при нажатии клавиши

document.querySelector('a[data-history]').addEventListener('click', function (e) { 
    e.preventDefault() 
    // window.history stuff 
}) 

Сейчас проблема в том, что если я хочу, чтобы открыть ссылку в новой вкладке вместо этого, она не Работа. То есть, Javascript отключает открытие ссылки на новой вкладке и просто выполняет тот же код window.history. В частности, это когда вы удерживаете COMMAND + CLICK на Mac. Каков наилучший способ не предотвратитьDefault при нажатии клавиши?

+0

Это сообщение может помочь вам (http://stackoverflow.com/questions/1357118/event-preventdefault-vs-return-false). –

+0

Настройте обработчик событий, когда вы нажимаете клавиши Ctrl/Command, а затем не выполняйте вышеуказанный оператор, когда вы нажимаете это событие. – matthewpavkov

+0

Я знаю, как использовать eventPropagation, и я не использую jQuery –

ответ

1

использование event.ctrlKey, shiftKey, altKey, metaKey

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