我编写了一个小部件,它使用JS在设置面板中设置一些选项卡。当小部件保存完成时,是否有方法重新触发选项卡JS?
查看WPJS source 它看起来不像,因为它只是将现有的HTML和;重新渲染整个表单。我可能会覆盖wpWidgets.save
&;做一些疯狂的事情,但这似乎真的很激烈。
Solution
在基于一个小马驹的想法进行了一些黑客攻击之后,以下是我最终得到的结果。
<script>
jQuery(document).ready(function($){
if(parseInt("<?php echo $this->number; ?>", 10)) {
$("[id$=\'<?php echo $this->id; ?>\'] .tabs").tabs();
}
});
</script>
基本上,我只发送了一些JS和一些小部件值,这些值是在&;中硬编码的;进行一些检查(&A);有趣的CSS3选择器可以找到正确的DOM节点。
最合适的回答,由SO网友:onetrickpony 整理而成
将javascript代码放在小部件表单中,每当小部件刷新时,它都会被触发。
如果您的选项卡连接到一个单击事件,那么更好的方法是使用$.delegate
在小部件实例包装器上。这样,您就不需要在每个小部件实例中包含js。。。