2016-03-07 2 views
3

Скажем, я программно установил фокус на textarea с простым document.getElementById('myTextArea').focus();. На этой textarea у меня есть onFocus событие:Есть ли способ определить, было ли запущено событие JS программным путем или фактическим взаимодействием?

document.getElementsByName('myTextArea')[0].onFocus = function() { 
    alert('I’m focused!'); 
}; 

Я только хочу, чтобы onFocus уволят, когда пользователь на самом деле фокусируется на textarea и не тогда, когда я установить фокус программно.

Есть ли способ в onFocus, чтобы узнать, было ли событие вызвано кодом или человеком, не передавая мой собственный параметр?

+2

Почему так необходимо, чтобы вы фокусировались программно, когда не хотите этого делать? – bugwheels94

+0

@Ankit - Это упрощённый пример для иллюстрации моей потребности. –

+0

попробуйте проверить, соответствуют ли события наведения и фокуса? Просто выбросьте его туда. –

ответ

-1

Да, когда он запускается браузером, он создает «originalEvent».

+0

Я думаю, вы думаете о jQuery, а не о JavaScript ... –

+0

Это правда @BrandonDurham. Это был единственный способ найти решение. –

Смежные вопросы