2016-07-28 5 views
0

Zuvor hatte ich diesen Code, der arbeitete, um ein Klickereignis in einer Knockout-Methode zu fälschen.Verwenden eines Klickereignisses, um ein Menü anzuzeigen - aber nicht mit neuem Code mit Knockout und Jquery arbeiten

self.addProductToCart = function(data) { 
var $productNotification = $(".product-notification"); 
ax.Cart.addCartItem({product_id:data.id, name:data.name, description:data.description}); 
$productNotification.slideDown(1000).fadeOut(200, function() { $('#cart-nav a.first').click();});}; 

Jetzt wollen sie css3 verwenden zu animieren, so nahm ich, dass die slidedown Methode aus und ersetzt es mit diesem und es funktioniert nicht. Vermutlich vermisse ich hier etwas Dummes. Danke

self.addProductToCart = function(data) { 
var $productNotification = $(".product-notification"); 
ax.Cart.addCartItem({product_id:data.id, name:data.name, description:data.description}); 
$('body').addClass("test"); 
(function() { $('#cart-nav a.first').click();});}; 
+1

Ich glaube nicht, dass '.click()' wird im zweiten Block ausgeführt wird - es in einer anonymen Funktion definiert ist (warum?) und dann einfach verworfen, da die Funktion nie ausgeführt wird. – vlaz

+0

Sie führen die selbstausführende anonyme Funktion nicht aus. Auch gibt es keinen Knockout in dieser Frage. –

+0

ok, das macht Sinn in Bezug auf die Funktion, aber können Sie einen Vorschlag im Code selbst anbieten? Dies ist eine Knockout-Methode, die jedoch aus dem Codeblock nicht ersichtlich ist. Ich muss das nur ändern, um das Dropdown-Menü und die addClass-Methode anzuzeigen. Ich habe einige Dinge ausprobiert, die nicht funktionierten. – erics15

Antwort

0

Wie Roy J in den Kommentaren erwähnt, haben Sie eine anonyme Funktion, die nicht ausgeführt wird. Es scheint nicht einmal, dass die anonyme Funktion notwendig ist. Versuchen Sie, diese Zeile zu ändern:

(function() { $('#cart-nav a.first').click();});}; 

Um dies:

$('#cart-nav a.first').click(); 
+0

Danke, das habe ich auch getan - der AF war nicht nötig, ich bin mir nicht sicher, warum ich das an erster Stelle getan habe. Ich stoße auf ein Problem, das ich zu debuggen versuche, auf einigen Seiten, auf denen das click-Ereignis nicht ordnungsgemäß ausgelöst wird. – erics15