Показать сообщение отдельно
  #2 (permalink)  
Старый 05.11.2014, 13:23
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,584

Отличить можно. Но зависит от цели. В простейшем случае достаточно определить отлично ли от нуля положение курсора при событии:
<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 тоже есть такое свойство, только там оно не работает)
Если цель борьба с накруткой или подобное - лучше использовать готовые решения.
__________________
29375, 35

Последний раз редактировалось Aetae, 05.11.2014 в 13:27.
Ответить с цитированием