Как вызвать событие без вызова пользовательских прослушивателей событий? - PullRequest
0 голосов
/ 03 марта 2020
<label><input id="test" type="text" name="test"></label>

<script>

    jQuery(function ($) {
        // no access to the scope
        $('#test').on('focus', listener);

        function listener() {
            // ...
        }
    });

    // different scopes
    jQuery(function($){
        $('#test').trigger('focus'); //calls listener. But how to do trigger without calling listeners?  
    })
</script>

1 * - как сделать триггер focus без вызова слушателей?

Необходимо избегать вызова функции слушателя, фокусировать только элемент ввода.

Слушатель должен быть представлен. Я не могу удалить слушателя. Проблема в том, что я не могу использовать $.fn.off, потому что в реальном коде я не могу изменить код слушателя и не могу выполнить повторную привязку после $.fn.off, потому что $('#test').trigger('focus') вызывает в другой области

...