Показать сообщение отдельно
  #3 (permalink)  
Старый 05.11.2014, 15:26
Новичок на форуме
Отправить личное сообщение для Vlesk Посмотреть профиль Найти все сообщения от Vlesk
 
Регистрация: 05.11.2014
Сообщений: 4

Сообщение от Aetae Посмотреть сообщение
Отличить можно. Но зависит от цели. В простейшем случае достаточно определить отлично ли от нуля положение курсора при событии:
<input type="button" value="button" id="Btn">  
<input type="button" value="button.click()" onclick="document.getElementById('Btn').click()">
<script>
  var btn = document.getElementById('Btn');
  btn.addEventListener('click', function(event){
    alert( event.clientX|event.clientY ? 'Вручную' : 'Скриптом' )
  }, false)    
</script>

Однако эти значения можно подставить и при искусственном вызове. Далее уже идут ухищрения для каждого браузера отдельно. Например в firefox есть свойство события isTrusted - который честно говорит вызвано событие скриптом или вручную.(в IE тоже есть такое свойство, только там оно не работает)
Если цель борьба с накруткой или подобное - лучше использовать готовые решения.
Огромное спасибо!

А если умельцы делают клик мыши, скажем, на делфях? Эмулируя клик в духе такого:

Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, x, y, 0, 0);
Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, x, y, 0, 0);

Есть ли тут шансы как-то такое определить?
Ответить с цитированием