2015-10-13 112 views
-1

我試圖安裝一個用於輸入掩碼的jQuery插件。我已經包括JS文件罰款,我試着按照文檔初始化:Javascript函數在控制檯中工作,但不在代碼中

<script src="autoNumeric.js" type="text/javascript"></script> 
<script type="text/javascript"> 
    $(document).ready(function(){ 
    $('#balance-input').keyup(function(){ 
     $('.stripe-button').attr('data-amount', $('#balance-input').val()); 
    }); 
    $('#balance-input').autoNumeric('init'); 
    }); 
</script> 

第一KEYUP功能工作正常,是毫無關係的第二功能。在控制檯中,我得到一個autoNumeric未定義的錯誤。然後我輸入$('#balance-input')。autoNumeric('init');進入控制檯,它工作沒有問題。它位於document.ready中,插件包含在document.ready之前。該怎麼辦?

+5

你能解釋你如何包含你的javascript文件嗎?聽起來像包含這個文件的代碼是在插件之前加載/包含的。 – donnywals

+1

你可以創建一個小提琴或片段? – j08691

+1

小提琴將有助於調試 –

回答

1

即使您檢查了加載順序,它確實看起來是問題。在您使用控制檯時,所有內容都已加載。但是在腳本中它會盡快運行。 Document Ready等待DOM,但不一定是所有腳本,具體取決於它們的加載方式。另外,確保只包含一個核心jQuery文件(在某些系統上可能會偶然包含多次)。

下一個調試步驟是在調用autoNumeric時設置一個斷點,以便您可以檢查JavaScript負載的狀態。

相關問題