Verwenden von JavaScript auf der neuen Widget-Vorschau / Customizer-Seite

Der Widget-Customizer wurde gerade zum core von WordPress 3.9. Ich probiere die Beta-Version aus, in der Hoffnung, dass Widgets auf dem Bildschirm “Anpassen” funktionieren, so wie ich es auf der normalen Widgets-Seite getan habe. Einige meiner Widgets verwenden Javascript, wie ein Select-Element, das mit einem jQuery-Plugin – tokenInput – umgewandelt wurde.

Ich muss in der Lage sein, das Javascript auf dem neuen Anpassungsbildschirm zu initialisieren, in dem ich Widgets hinzufügen / redigieren kann.

  • Ich kann Javascript bereits beim Laden der Seite initialisieren
  • Ich kann Javascript nicht auf Widget-Add oder Widget-Reinitialisierung reinitialisieren.

Also im Grunde, wenn ich auf ein Widget klicke, um es hinzuzufügen, oder wenn ich es speichere, verliere ich das jquery-plugin und es geht zurück zu einem normalen select-Element.

Ich triggerse das für die normale Widgets-Seite mit etwas wie folgt:

jQuery(document).ready(function() { // ------------------------------------------- // On page load // ------------------------------------------- input.tokenInput("/search-posts.php"); // --------------------------------------------- // On new widget dropped in the sort area // --------------------------------------------- jQuery(".widgets-sortables").on("sortreceive", function(event, ui) { setTimeout(function() { jQuery("#widgets-right .select_news_post:not(.token)").each(function(){ var input = jQuery(this); input.addClass('token'); select = input.next('select'); input.tokenInput("/search-posts.php"); }); }, 500) }); // --------------------------------------------- // On widget save // --------------------------------------------- jQuery(document).ajaxSuccess(function(e, xhr, settings) { var widget_id_base = 'news-post'; if (settings.data !== "undefined") { if (settings.data.search('action=save-widget') != - 1 && settings.data.search('id_base=' + widget_id_base) != - 1) { // jQuery Tokeniser jQuery("#widgets-right .select_news_post:not(.token)").each(function(){ var input = jQuery(this); input.addClass('token'); input.tokenInput("/search-posts.php"); }) } } } } 

Hat jemand eine Idee, was ich auf der Widget-Customizer-Seite verwenden würde, um das JavaScript neu zu initialisieren, wenn Sie ein neues Widget hinzufügen und das Widget speichern?

Solutions Collecting From Web of "Verwenden von JavaScript auf der neuen Widget-Vorschau / Customizer-Seite"