Предотвратить click()

123
31 октября 2018, 15:50

На сайте есть квест, в рандомное время появляется попап, и кто первый кликнет получает приз Но некоторые люди использую через консоль поиск элемента и click(), можно ли как-то это предотвратить, а учитывать только клик именно мышкой?

Answer 1

Да. такое возможно. При клике мышкой в обработчик передается объект события, у которого есть поле isTrusted

isTrusted - свойство объекта Event, доступное только на чтение. Принимает значение true, если событие было инициировано действиями пользователя, и false, если событие было создано или изменено скриптом, либо с помощью dispatchEvent.

document.getElementById('click').addEventListener('click', (e) => console.log(e.isTrusted)); 
 
document.getElementById('click').click();
#click { 
  border: 1px solid black; 
  width: 200px; 
  height: 200px; 
}
<div id="click">click me</div>

READ ALSO
Проверка classList.contains

Проверка classList.contains

Есть div'ыПри нажатии на них добавляется class="clicked"

193
Ускорить выполнение запроса Mysql

Ускорить выполнение запроса Mysql

Имеется таблица в ней примерно полтора миллиона записейДелаю выборку, время работы запроса примерно 10 секунд

145