web-dev-qa-db-fra.com

Exécuter JS après avoir enregistré les paramètres du widget?

J'ai écrit un petit widget qui utilise JS pour configurer certains onglets dans le panneau des paramètres. Y at-il un moyen de re-déclencher l'onglet JS lorsque le widget est terminé enregistrer?

En regardant le WP _ source JS , il ne ressemble pas à cela, il efface simplement le code HTML existant et le rend à nouveau. la forme entière. Je pourrais potentiellement écraser wpWidgets.save & faire quelque chose de dingue, mais cela semble vraiment radical.

Solution

Après quelques piratages basés sur l’idée de One Trick Pony, voici ce que j’ai trouvé.

<script>
jQuery(document).ready(function($){
    if(parseInt("<?php echo $this->number; ?>", 10)) {
        $("[id$='<?php echo $this->id; ?>'] .tabs").tabs();
    }
});
</script>

Fondamentalement, je viens d’envoyer des valeurs JS avec certaines valeurs de Widgets codées en dur dans et effectuer des vérifications et des sélecteurs CSS3 amusants pour trouver les bons nœuds DOM.

1
Tivac

Placez votre code javascript dans le formulaire du widget, il sera déclenché à chaque actualisation du widget.

Si vos onglets sont accrochés à un événement click, un meilleur moyen serait d'utiliser $.delegate sur le wrapper d'instance de widget. De cette façon, vous n'avez pas besoin d'inclure le js dans chaque instance de widget ...

2
onetrickpony