Non È Una Funzione Javascript

| | | | | | | | | | | | | | | | | | | | |

Il segno $ in jQuery è una sintassi comunemente usata come scorciatoia per accedere o definire una libreria JavaScript. Il codice seguente illustra che invocando il segno $ o il metodo jQuery si ottengono tutti i tag

in un documento. In altre parole, $() e jQuery() sono metodi rigorosamente uguali.

jQuery è una libreria JavaScript che semplifica sviluppatori per manipolare un documento Hypertext Markup Language (HTML). Gli sviluppatori possono ottenere elementi da un documento HTML per aiutare gli utenti ad attivare eventi su una pagina Web, in modo simile all’utilizzo dell’interfaccia Document Object Model (DOM). In questo modo, i siti Web avranno funzioni come fare clic, scorrere, ridimensionare e inviare.

WordPress è un sistema di gestione dei contenuti gratuito che utilizza jQuery e altre librerie JavaScript. Il typeerror: $ non è una funzione si vede comunemente quando si utilizza jQuery con WordPress a causa dello scripting predefinito che impedisce il conflitto con altre librerie.

TypeErrors possono essere lanciati contro di te quando si tenta di modificare un valore immutabile o quando si utilizza un valore in modo inappropriato. L’errore può verificarsi anche quando un argomento viene passato a una funzione incompatibile con il tipo previsto dalla funzione o dall’operatore all’interno della funzione.

Questo articolo approfondisce anche il motivo per cui questo errore si attiva come possibili soluzioni.

Perché questo errore si attiva in WordPress

Sappi che le sintassi $() e jQuery() sono metodi rigorosamente uguali. Devi usare jQuery() per la compatibilità con altre librerie in WordPress. WordPress esegue i propri script prima di noi e la libreria jQuery viene impostata automaticamente sulla modalità noConflict(), quindi il collegamento alla sintassi $() per accedervi diventa non disponibile. Tuttavia, possiamo usarlo localmente all’interno dell’ambito della funzione.

Gli esempi di codice seguenti generano un errore con WordPress quando invochiamo una libreria jQuery con $().

Soluzioni possibili

Possiamo correggere questo errore utilizzando jQuery(). Possiamo usare $() liberamente all’interno del nostro oggetto jQuery dopo averlo utilizzato.

Un’altra possibile soluzione sarebbe quella di impostare la variabile $ su noConflict, ignorando WordPress‚Äô script iniziali come nell’esempio seguente.

Tuttavia, ciò potrebbe causare altri errori con altri pezzi di codice poiché WordPress ne utilizza molti nel suo sistema di gestione dei contenuti. L’utilizzo del metodo jQuery() al posto del metodo sopra è la soluzione migliore.

Conclusione

La scorciatoia $()per accedere a jQuery genera un errore in WordPress perché l’applicazione imposta la tua libreria in modalità noConflict() per garantire la compatibilità con altre librerie. L’utilizzo del metodo jQuery() impedisce l’attivazione di questo errore. Gli sviluppatori possono quindi utilizzare $() una volta all’interno di una funzione invocata con jQuery().

Si noti che non è consigliabile sovrascrivere la modalità noConflict() in WordPress per evitare questo errore in quanto potrebbe innescare altri errori . La soluzione preferita è invocare jQuery() globalmente al posto della scorciatoia $().