2014-04-16 12 views
11

Ho tentato di inserire un paio di plugin jQuery in elementi Polymer, ma finora ho avuto scarso successo. Ad esempio il plugin select2 (troubles discussed here) e il plug-in DataTables trovato here. Anche se sarebbe bello non avere le dipendenze jQuery, il panorama per i plugin jQuery pronti all'uso è davvero maturo e fino a quando le librerie dei componenti web non saranno recuperate, sarebbe bello avere wrapper che portino tutta la bontà dei componenti web alla profondità libreria di plugin jQuery.jQuery plugins and Polymer elements

La mia domanda è ci sono trucchi chiave quando si lavora con jQuery all'interno di un elemento Polymer che deve essere considerato? E ancora più utile, ci sono buoni esempi di elementi Polymer riusciti che avvolgono i plugin jQuery? La mia ricerca di questi esempi ha finora portato alla luce pochissimo.

risposta

21

La mia domanda è che ci sono dei trucchi fondamentali quando si lavora con jQuery all'interno di un elemento Polymer che devono essere presi in considerazione?

Probabilmente il problema più grande riguarda il DOM ombra. Quando si posiziona il markup all'interno di Shadow DOM, non può essere selezionato da jQuery. Molti plugin presumono che tutto il loro contenuto sia disponibile nel DOM luminoso in modo che possa portare a tutti i tipi di problemi. Speriamo che le nuove versioni di jQuery troveranno il modo di lavorare con il DOM ombra, quindi questo potrebbe diventare meno un problema.

E ancora più utile, ci sono buoni esempi di elementi Polymer di successo che avvolgono i plugin jQuery?

Se davvero si vuole lavorare con un plugin jQuery e elementi Polymer allora potrebbe essere meglio per costruire il vostro plugin jQuery nel DOM Luce e poi passare nel elementi come <content>. Here's a jsbin example che costruisce un elemento Select2 e lo passa in un elemento Polymer in modo che possa essere visualizzato.

+1

Grazie a @robdodson, questa spiegazione ha molto senso. Avevo la sensazione che Shadow DOM potesse essere la fonte dei problemi che stavo vivendo. Indovina, questo significa che l'incapsulamento dei plugin jQuery all'interno di un componente Web non sarà una vittoria facile. Grazie anche per l'esempio di jsbin. È bello vederlo funzionare, anche se il plug-in deve essere iniettato come contenuto, non è sicuro che ci sia un gran vantaggio per il suo inserimento in un componente Web, a meno che non manchi qualcosa. La stessa cosa che gli impedisce di funzionare, l'incapsulamento di scope con Shadow DOM, è anche la ragione per cui speravo di farlo funzionare! – ivelander

+1

Indicherei anche chiunque abbia problemi simili a questo argomento [thread] (http://stackoverflow.com/questions/23317828/jquery-markitup-polymer-getting-it-to-work). – ivelander

+1

Questo esempio lightdom sconfigge l'intero scopo di un componente Web che è autonomo e modulare. – ThomasReggi