Показать сообщение отдельно
  #9 (permalink)  
Старый 12.08.2015, 05:06
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от ivnjavascript
то это уже событие не является кликом
А чем?

Событие onclick, это вообще-то результат двух событий - onmousedown и onmouseup, которые наступают по очереди. Все эти три события есть не потому, что это закономерность и иначе нельзя, а потому, что это определено разработчиками программ и "железяк". Правильнее будет "эти три события генерируются системой". С таким же успехом можно было бы добавить генерацию еще двух событий вкупе к этим трем: "как бы нажата кнопка мыши - onasifmousedown" и "как бы отпущена кнопка мыши - onasifmouseup".

Система не мгновенно генерирует события в ответ на нажатия кнопок, а сначала возникает аппаратное прерывание, затем контроллер устройства обрабатывает так называемый "дребезг контактов", формируя некоторую задержку, в течении которой постоянно опрашивает порт вызвавший это прерывание. Если по истечению этой задержки кнопка останется нажатой, тогда принимается решение - "да, есть нажатие". И только затем это событие отдается системе, но система генерирует уже программное прерывание. И уж как его обозвать, это решается в зависимости от устройства и его драйвера. Вот за мышкой и закреплен набор стандартных для нее событий порожденных аппаратными прерываниями, но не проблема добавить еще кучу новых, наворотив супер мышку и написав для нее драйвер.

Так что события породившее щелчок мыши никуда не денутся, а вот выделение текста, это уже чисто программное прерывание, то бишь событие, которое порождается системой или ПО. Нужно только отлавливать события и никуда они не денутся, и "перерождаться" во что-то иное не будут.

Последний раз редактировалось laimas, 12.08.2015 в 05:09.
Ответить с цитированием