jQuery trigger('click') funktioniert nicht mit Jasmine-jquery
Dies ist mein test-code:
describe("Login", function(){
beforeEach(function(){
loadFixtures('login-fixture.html');
})
it("should enable the button when checking 'remember password'", function(){
$('#remember').trigger('click');
expect($('#keepIn')).not.toBeDisabled();
});
});
Und das ist mein Produktionscode:
$(document).ready(function(){
$('#remember').click(function(e) {
if($('#remember').is(':checked'))
{
$('#keepIn').removeAttr('disabled');
}
});
});
Dies ist nicht die Arbeit, die Produktion von code wird nie genannt. Ich habe Warnungen vor und nach dem trigger-Ereignis und nach dem auslösen die checkbox aktiviert ist, werden aber die .klicken Sie auf Funktion nicht aufgerufen.
Irgendwelche Gedanken auf, warum ist das passiert?
- Wo steht, dass ".checkboxradio" Sache kommen?
- welche Fehler sind geworfen in die Konsole?
- Es ist jQuery-mobile. Anyways, ich habe mich verändert den code, es zu tun, nur mit jQuery
- Keine Fehler in der Konsole einfach den test nicht passieren. Ich habe gesehen, dass nicht genannt-debugging mit firebug
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ohne dass der rest des Codes habe ich vorausgesetzt, das "login-fixture.html" enthält das "#" merken "checkbox". Wenn ja, ist es be-nachdem der DOM geladen. Was bedeutet, dass die "click" - Ereignis, das Sie wollen, zugeordnet werden, gelten nur für die zuvor geladene Elemente. Die jQuery on () - Ereignis zugewiesen wird jede Veranstaltung, die Sie möchten, um neu geladene Elemente. Möchten Sie vielleicht versuchen Sie, ein auf () - Ereignis, dass id. So etwas wie:
Hoffe, das hilft.
Finden Sie unter: http://api.jquery.com/on/