Событие щелчка окна, чтобы сработать до события нажатия кнопки - PullRequest
0 голосов
/ 21 января 2020

У меня есть два компонента с настроенными слушателями событий, один - компонент меню, а другой - кнопка. Когда кнопка нажата, я хочу, чтобы меню закрывалось до , когда запускается функция кнопки onClick, однако порядок событий в настоящее время:

1) Нажата кнопка

* 1006. * 2) Сработало нажатие кнопки

3) Сработало событие щелчка меню onWindow

Ниже приведены настройки для обоих:

Кнопка:

    <button class="sos-btn sos-btn-confirm" data-dojo-attach-event="click: _apply">Apply Filters</button>

Меню:

    _createEventListeners: function() {
        this.clickListener = on.pausable(
            window,
            'click',
            this._onWindowClick.bind(this)
        );

        this.clickListener.pause();
    },

    _onWindowClick: function(e) {
        if(!this.domNode.parentNode.contains(e.target)) {
            this.close();
        }
    },

Обработчик нажатия кнопки:

        _apply: function(e) {
            // do things
        }

Проблема здесь в том, что мне нужно закрыть меню до запуска обработчика события кнопки, поэтому я хотелось бы, чтобы порядок был следующим:

1) нажата кнопка

2) сработало событие нажатия onWindow в меню

3) сработало нажатие кнопки

Я не против, если мне нужно поместить что-то в верхнюю часть функции _apply, чтобы немедленно всплыть событие, я просто не уверен, как это сделать.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...