2016-07-28 19 views
0

以前,我有這個代碼用於在挖空方法中欺騙點擊事件。使用單擊事件來顯示菜單 - 但不能與使用Knockout和Jquery的新代碼一起工作

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();});}; 

現在,他們想使用CSS3動畫,所以我把該方法了slideDown出來,這種替代它,它不工作。我可能在這裏錯過了一些愚蠢的東西。謝謝

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

我不認爲'()'在第二塊被執行。點擊 - 它在一個匿名函數中定義的(爲什麼? ),然後丟棄,因爲該函數從未運行。 – vlaz

+0

你沒有執行自動執行的匿名函數。 另外,在這個問題上沒有Knockout。 –

+0

好吧,這個功能是有意義的,但是你可以在代碼本身提供一個建議嗎?這是一個淘汰賽的方法,但從代碼塊中並不明顯。我只需要修改它以顯示下拉菜單和addClass方法。我嘗試了一堆沒用的東西。 – erics15

回答

0

由於Roy J在評論中聲明,您有一個匿名函數不執行。甚至不需要匿名函數。嘗試改變這一行:

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

要這樣:

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

謝謝,我其實是這麼做的 - 自動對焦不是必須的,不知道爲什麼我首先做到了這一點。我遇到了一個我正在嘗試調試的問題,在它沒有正確發送click事件的頁面上。 – erics15

相關問題