私は設定パネルのいくつかのタブを設定するためにJSを使用する小さなウィジェットを書きました。ウィジェットの保存が完了したときにタブJSを再起動する方法はありますか?
WP JSソースを見ると 、既存のHTMLを吹き飛ばして再レンダリングするだけなので、そのようには見えません。フォーム全体私は潜在的にwpWidgets.save
を上書きすることができました、そして、そこで厄介なことを何でもするが、それは本当に劇的に思えます。
解決策
One Trick Ponyの考えに基づいたハッキングの後、これが私が最終的に得たものです。
<script>
jQuery(document).ready(function($){
if(parseInt("<?php echo $this->number; ?>", 10)) {
$("[id$='<?php echo $this->id; ?>'] .tabs").tabs();
}
});
</script>
基本的には、いくつかのJS w /いくつかのWidgets値をハードコードして送って、正しいDOMノードを見つけるためにいくつかのチェックと楽しいCSS3セレクターを実行します。
あなたのJavaScriptコードをウィジェットフォームの中に入れてください、そしてそれはウィジェットが更新されるときはいつでも引き起こされます。
タブがクリックイベントに夢中になっている場合は、ウィジェットインスタンスラッパーで $.delegate
を使用することをお勧めします。そうすれば、すべてのウィジェットインスタンス内にjsを含める必要がなくなります。