如何在jQuery中从侦听器函数获取事件调用方

如何在jQuery中从侦听器函数获取事件调用方,jquery,twitter-bootstrap-3,Jquery,Twitter Bootstrap 3,我试图使用Bootstrap3从jQuery的事件侦听器函数内部获取caller元素 代码: 控制台: 问题是此和事件。目标是更多选项塌陷元素,我想要的是触发show.bs.collapse事件的按钮 任何帮助都将不胜感激c:正如@isherwood在评论和中指出的,您需要向show.bs.collapse而不是show.bs.collapse添加侦听器,以便jQuery元素的数据()可以为bs.collapse留出时间,以便索引,并在$trigger键中设置调用者元素 jQuery(More

我试图使用
Bootstrap3
jQuery
的事件侦听器函数内部获取
caller元素

代码:

控制台:

问题是
事件。目标
更多选项塌陷
元素,我想要的是触发
show.bs.collapse
事件的按钮


任何帮助都将不胜感激c:

正如@isherwood在评论和中指出的,您需要向
show.bs.collapse
而不是
show.bs.collapse
添加侦听器,以便
jQuery
元素的
数据()
可以为
bs.collapse
留出时间,以便
索引
,并在
$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');
});

相关:但这两者都不是完美匹配。您可能只需在触发元素本身上使用click listener。我在开始时也这么认为,但会有更多按钮触发同一事件,我想做的是根据崩溃的状态更改调用者元素的文本,我不想仅仅为了这个而写乱七八糟的代码。如果你能切换到
show.bs.collapse
。否则,获取与触发器关联的collapse元素并检查其状态(
.in
)可能并不难。您知道,原始事件目标将是实际单击的元素。。。如果不是按钮本身的话,它至少会在按钮内部。如果不是按钮,可以使用遍历方法从那里转到按钮。。
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');
});