如何在管理-AJAX过程中保存小工具时保持脚本持久化?

时间:2021-02-12 作者:Nadal

是否有一个钩子来保持小部件中包含的脚本在admin-ajax.php 过程

我使用jQueryshow() 要打开小部件中的元素,该元素应保持关闭状态,直到单击为止,并按预期工作。然而,当小部件被保存并且WP正在admin ajax中执行ajax时。php中,函数失败并在没有任何交互的情况下打开。如果重新加载页面,函数将恢复正常。

函数正在从文件运行myscript.js 并加载到admin_enqueue_scripts 行动

 $(".handle").click(function(){
    $(".element").show("slow");
 });

<span class="button handle">View Details</span>
<div class="element">this is detail</div>
我怀疑这个小部件当时在管理ajax。未检测到php和JS。

1 个回复
SO网友:Nadal

在深入冥想并与美洲驼dally会面(可能是羊驼,我当时很高)之后,我确定了一个解决方案。

使用widget-updated var在小部件保存时重新加载JS函数。

$(document).on(\'widget-updated\', function(event, widget) {
    doAccordion();
});

相关推荐

如何通过JS FETCH将数据发送到admin-ajax?

我正在尝试在我的网站上实现过滤系统。我决定通过js来实现。我创建了fetch函数let filters = document.querySelectorAll(\'.filters-item\'); let pageUrl = wp.page_url; const postsContainer = document.querySelectorAll(\'.column.is-half.is-offset-1\'); filters.forEach( (item) => {&#