2017-09-13 3 views
0

Ich habe ein seltsames Verhalten mit dem Click-Ereignis jquery. Das war mein Code:Jquery Klick auf Klick-Handler

$("#item").on("click",function(){ 
    //do some stuff 
    $("#item2").click(); // doesn't work! 
}); 

Aber der zweite Klick funktioniert nicht, wenn Sie auf #item klicken. Wenn Sie manuell auf item2 klicken, funktioniert es. Ich habe es zu arbeiten, wenn dies zu tun:

$("#item").on("click",function(){ 
    //do some stuff 
    document.getElementById("item2").click(); //WORKS! 
}); 

Ich habe auch versucht event.preventDefault() vor dem jquery Klick-Trigger, aber das funktioniert auch nicht.

Kann jemand erklären, warum das mit jquery nicht funktioniert?

+0

Versuch '$ ("# item2") .trigger ('click'); ' – Rahul

+0

Hast du vielleicht das #item in deinem HTML per Skript hinzugefügt? – Steven

+0

'$ (" # item2 "). Trigger (" click ");' -> siehe: http://api.jquery.com/trigger/ –

Antwort

0

Sie kann nicht click() als ein einfaches Verfahren verwenden, muss es sich um eine Funktion, so dass Sie das Click-Ereignis trigger() sollte:

$("#item").on("click",function(){ 
    //do some stuff 
    $("#item2").trigger("click"); 
}); 
0

$(function(){ 
 
    $("#item").on("click",function(){ 
 
     //do some stuff 
 
     $("#item2").trigger('click'); // Now Works !!! 
 
    }); 
 

 
    $("#item2").on("click",function(){ 
 
     //do some stuff 
 
    alert('working') 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button id="item">item1</button><button id="item2">item1</button>

bitte dieses fiddle sehen. Ich habe hinzugefügt

$("#item2").trigger('click'); 

in Ihrem Code.

0

Hier ist Ihre Lösung:

$("#item2").trigger('click'); // Verwendung Trigger-Funktion von jQuery

0

Haben Sie die Dokumentation von JQuery lesen? in https://api.jquery.com/click/ erklärt es aout onClick, und Sie können feststellen, warum event.preventDefault nicht vor dem JQuery-Trigger

Für Lösung funktioniert:

$("#item2").trigger('click'); // Use trigger function of jQuery to Trigger 

Bitte lesen Sie die Dokumentation