gpt4 book ai didi

javascript - 事件监听器完成后调用函数 - Javascript

转载 作者:搜寻专家 更新时间:2023-11-01 04:36:11 27 4
gpt4 key购买 nike

EventListener 已完成运行任何附加代码时,有没有办法在 Javascript 中调用函数?我正在使用带有 EventListener 的外部库,它在调用 Listener 时执行特定操作。我需要在外部库的代码运行完毕后运行我的函数。

我正在请求一种 EventListener,我可以将其放在 EventListener 上以查看 EventListener 何时完成其任务。

我不能获取源代码并将其放入我的文件中,我也不能直接将我的函数调用放在他们代码中外部库的 EventListenerHandler 的末尾。我也没有启动 EventEventListener,所以我认为我不能在其上放置回调函数(我还是 Javascript 的新手,所以也许,我不完全确定)。该事件不使用 AJAX。

EventListener --> EventListener --> Event

如何做到这一点?

enter image description here

这是我的 EventListener 的图片。在我的具体情况下,我想在外部库使用 has_many_add:after EventListener 捕获 Event 之后执行以下代码,并且完成关联处理程序中的代码运行:

$('select.user_select').select2({
minimumInputLength: 2
})

点击按钮时外部库执行回调:

$(document).on('click', 'a.button.has_many_add', function(e) {
var before_add, fieldset, html, index, parent, regex;
e.preventDefault();
parent = $(this).closest('.has_many_container');
parent.trigger(before_add = $.Event('has_many_add:before'), [parent]);
if (!before_add.isDefaultPrevented()) {
index = parent.data('has_many_index') || parent.children('fieldset').length - 1;
parent.data({
has_many_index: ++index
});
regex = new RegExp($(this).data('placeholder'), 'g');
html = $(this).data('html').replace(regex, index);
fieldset = $(html).insertBefore(this);
recompute_positions(parent);
return parent.trigger('has_many_add:after', [fieldset, parent]);
}
});

我无法更改这段代码,我需要我的函数在调用 has_many_add:after EventListener 之后继续。我尝试使用以下内容:

$(".button has_many_add").click(function(){
$('select.user_select').select2({
minimumInputLength: 2
});
});

但是,这段代码似乎在外部库的事件处理程序执行之前执行。

最佳答案

只要您的外部库不阻止事件冒泡,您就应该能够这样做:

$(document).on('has_many_add:after', function(){
//do your stuff
});

关于javascript - 事件监听器完成后调用函数 - Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31864143/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com