Как получить вызывающего события из функции слушателя в jQuery - PullRequest
0 голосов
/ 25 апреля 2019

Я пытаюсь получить caller element изнутри функции прослушивателя событий jQuery, используя Bootstrap3.

Код:

jQuery(MoreOptionsCollapse).on('show.bs.collapse', function(event){
    console.log(this, event, event.target);
});

Консоль: enter image description here

Проблема в том, что this и event.target являются элементом MoreOptionsCollapse, и мне нужна кнопка, которая вызвала событие show.bs.collapse.

Любая помощь будет оценена с:

1 Ответ

1 голос
/ 25 апреля 2019

Как указано @isherwood в комментариях и в этом посте , вам нужно добавить слушателя к shown.bs.collapse вместо show.bs.collapse, чтобы элемент jQuery * data() могсделайте время для bs.collapse равным indexed с элементом вызывающего, установленным в ключе $trigger.

jQuery(MoreOptionsCollapse).on('shown.bs.collapse', function(){
    var triggerButton = jQuery(this).data('bs.collapse').$trigger[0];

    triggerButton.set('text', 'Some other text after element toggled');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...