Perché questa funzione di clic di jQuery non funziona?

Codice:

  $("#clicker").click(function () { alert("Hello!"); $(".hide_div").hide(); });  

Il codice sopra non funziona. Quando clicco su #clicker, non si triggers e non si nasconde. Ho controllato la console e non ho ricevuto errori. Ho anche controllato se JQuery si stava caricando ed effettivamente lo è. Quindi non sono sicuro di quale sia il problema. Ho anche fatto una funzione di pronto documento con un avviso e questo ha funzionato in modo da non sapere cosa sto facendo male. Per favore aiuto. Grazie!

Dovresti aggiungere il codice javascript in $(document).ready(function() {}); bloccare.

vale a dire

 $(document).ready(function() { $("#clicker").click(function () { alert("Hello!"); $(".hide_div").hide(); }); }); 

Come afferma la documentazione di jQuery : “Una pagina non può essere manipolata in modo sicuro finché il documento non è” pronto “. JQuery rileva questo stato di prontezza per te Codice incluso in $( document ).ready() verrà eseguito solo una volta nella pagina Oggetto documento Il modello (DOM) è pronto per l’esecuzione del codice JavaScript ”

Ho trovato la soluzione migliore per questo problema utilizzando ON con $ (documento).

  $(document).on('click', '#yourid', function() { alert("hello"); }); 

per l’id inizia con vedi sotto:

 $(document).on('click', 'div[id^="start"]', function() { alert ('hello'); }); 

finalmente dopo 1 settimana non ho bisogno di aggiungere onclick triger. Spero che questo aiuterà molte persone

Il tuo codice potrebbe funzionare senza document.ready () solo assicurati che lo script sia dopo #clicker. Guarda questa demo: http://jsbin.com/aPAsaZo/1/

L’idea nel concetto pronto. Se sei sicuro che il tuo script sia l’ultima cosa nella tua pagina o lo sia dopo l’elemento interessato, funzionerà.

     JS Bin    Click Me    

Prova ad aggiungere $(document).ready(function(){ all’inizio del tuo script, e poi }); . Inoltre, il div ha l’id in esso correttamente, cioè, come un id, non una class, ecc.?

Devi avvolgere il tuo codice Javascript con $(document).ready(function(){}); Guarda questo JSfiddle .

Codice JS:

 $(document).ready(function() { $("#clicker").click(function () { alert("Hello!"); $(".hide_div").hide(); }); }); 

Assicurati che non ci sia nulla sul tuo pulsante (come un div o un trasparente img) che continua a fare clic sul pulsante. Sembra stupido, ma a volte pensiamo che jQuery non funzioni e tutto ciò che riguarda il problema è il posizionamento degli elementi DOM.

Puoi usare $(function(){ // code }); che viene eseguito quando il documento è pronto per eseguire il codice all’interno di quel blocco.

 $(function(){ $('#clicker').click(function(){ alert('hey'); $('.hide_div').hide(); }); }); 

Solo un rapido controllo, se stai usando un motore di template sul lato client come i manubri, il tuo js verrà caricato dopo document.ready, quindi non ci sarà alcun elemento per associare l’evento a, quindi utilizzare il gestore onclick o usarlo sul corpo e verificare la destinazione attuale