web-dev-qa-db-ja.com

ウィジェット設定が保存された後にJSを実行しますか?

私は設定パネルのいくつかのタブを設定するために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セレクターを実行します。

1
Tivac

あなたのJavaScriptコードをウィジェットフォームの中に入れてください、そしてそれはウィジェットが更新されるときはいつでも引き起こされます。

タブがクリックイベントに夢中になっている場合は、ウィジェットインスタンスラッパーで $.delegate を使用することをお勧めします。そうすれば、すべてのウィジェットインスタンス内にjsを含める必要がなくなります。

2
onetrickpony