2017-01-08 270 views
0

我點擊一個按鈕,我希望它確保.mo函數被調用,但它只會在第二次點擊時運行該函數。函數調用第二次點擊按鈕(不是第一次)

的mealplan()函數運行正常

HTML

<button class="" id="mealbtn" onclick="mealplan()">CLICK ME</button> 

我既需要mealplan(),並點擊時要調用的.mo功能。

function mealplan(){ 
     // also runs on click   
     } 

     Shopify.mo = function(q,ref) { 
    // this is the function that I need to run uupon click, but it is only running on second click 
     }; 

     $('#mealbtn').on('click', function(e) { 
     // should call the .mo function on click 
     Shopify.mo(Shopify.queuemeals,"note"); 

     });  
+0

你似乎有一個額外的右括號。餐飲計劃功能內的$('#mealbtn')。('click')? –

+0

@chris cozzens:你是否糾正了問題中的代碼?不要這樣做,它會幫助其他用戶發現他們可能犯的任何錯誤。如果可能的話,請回復問題的答案。 –

+0

@NikhilGirraj未做出正確答案,請參閱下面的答案 –

回答

0

jQuery on('click')方法只發生在單擊按鈕時。 你的代碼暗示當按鈕被點擊時,我們初始化按鈕的點擊方法。

爲了解決這個問題,將您的jQuery的事件是在頁面加載時運行的函數:

$(document).ready(function() { 
    $('#mealbtn').on('click', function(e) { 
     // should call the .mo function on click 
     Shopify.mo(Shopify.queuemeals,"note"); 
     }); 
}); 
相關問題