Разрабатываю биткоин кран. Там пользователь сначала должен кликнут на рекламу потом получить за это сатоши. Реклама находится внутри iframe. Мне нужно узнать сделал ли клик на рекламу пользователь. Захватываю клик с помощью iframeTracker, но iframeTracker реагирует не только на ЛК мыши, но и на ПК мыши и на кнопки Tab, alt, win. Кнопки Tab и Alt просто отменил так:
var cancelKeypress = false;
document.onkeydown = function(evt) {
evt = evt || window.event;
cancelKeypress = /^(9|18|91|92|93)$/.test("" + evt.keyCode);
if (cancelKeypress) {
return false;
e.preventDefault();
}
};
/* For Opera */
document.onkeypress = function(evt) {
if (cancelKeypress) {
return false;
}
};
Но клавиши 91, 92 (кнопки win) не отменяются. Как можно отменить нажатие кнопки win?
JavaScript не может остановить действие по нажатию на кнопку win. Это то, что происходит за пределами контекста браузера и, следовательно, не может и не должно блокироваться кодом, запущенным в вашем браузере.
Лучше всего ловить в коде данное событие и вызывать нужную вам функцию/обработку данного события:
$(window).keydown(function(event) {
if (event.keyCode == 91) {
//Ваша обработка при нажатии на кнопку Win
alert('Кнопка Win была нажата!');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости