2017-06-08 94 views
2

簡單的事情!!在asp.net- MVC項目中。我有一個按鈕。我有一個外部JavaScript文件mydata.js。在那個文件中包含一個函數checkJS()javascript函數沒有響應

function checkJs() 
{ 
    debugger; 
    alert("your output!!!"); 
} 

我的代碼:

<div id="mydivid" style="background-color:lightblue;"> 
    STAGE 
</div> 
<input type="button" id="btnid" value="Load Data" /> 

當我點擊一個按鈕,它只是調用jQuery的點擊功能

$(document).ready(function() { 
    $("#btnid").click(function (event) { 
     debugger; 
     $.getScript('mydata.js', function() { 
     // debugger; 
      checkJs(); 
     }); 

    }); 
}); 

我initialy使用1.12.4.js庫文件中的頭標籤
和我在頭標籤中添加了我的外部js文件。

我的代碼有什麼問題。爲什麼按鈕點擊沒有達到外部方法。

+0

「調試器」是否被擊中? – haim770

+0

@ haim770外部js文件調試器沒有打。 – User6667769

回答

2

1.確保在外部java腳本文件之前添加了jQuery庫。

當你確保第一點做象下面這樣: -

$(document).ready(function() { 
    $("#btnid").click(function (event) { 
     checkJs(); 
    }); 
}); 

2.如果你想使用$.getScript()然後做象下面這樣: -

$(document).ready(function() { 
    $("#btnid").click(function (event) { 
     $.getScript('mydata.js').done(function(data, textStatus) { // check the file path of mydata.js is correct or not? 
     checkJs(); 
     }); 
    }); 
}); 

上面的代碼將工作,只有當您在此代碼之前添加了jQuery庫,並且您從頭上移除了外部JavaScript文件路徑。

注: -

數據: - 從外部腳本

textStatus返回的數據: - 呼叫像外部腳本(純文本的地位「成功」)

欲瞭解更多知識此鏈接: - jQuery.getScript()

+0

嘿你的代碼很好,很簡單。我知道它的工作。但我的事這'$ .getScript( 'mydata.js',函數(){// 調試; checkJs(); });'需要這樣調用。是任何錯誤在我的代碼 – User6667769

+0

可以ü請告訴我,使用'(腳本,textstatus)' – User6667769

+0

@ User6667769很樂意幫助你:) :) :) –

2

如果您已經包含mydata.js,您可以直接調用您的功能,不需要getScript

如果不是,並且想要與getScript一起做,那麼請確保您給出正確的路徑,在完成的回調中加載js,如果仍然沒有,則檢查是否呼叫轉到fail回調。

$(document).ready(function() { 
    $("#btnid").click(function (event) { 
     debugger; 

     $.getScript('mydata.js').done(function(data, textStatus, jqxhr) { 
      checkJs(); 
     }).fail(function(){ 
      if(arguments[0].readyState==0){ 
      //script failed to load 
      }else{ 
      //script loaded but failed to parse 
      alert(arguments[2].toString()); 
      } 
     }) 
    }); 
}); 

完成回調有3個參數,其中有以下值。

  1. 數據:已返回的數據(腳本)
  2. textStatus:它返回純文本格式的狀態,例如「成功」
  3. jqxhr:它的jqXHR對象,它是XMLHTTPRequest對象的超集,並具有返回狀態碼的「status」屬性。
+0

嘿而不是把$ .getScript('/ Scripts/jsondata.js',function(script,textStatus){ // debugger; checkJs(); });'我只是喜歡這個'$ .getScript ('/Scripts/jsondata.js',function(jd){debugger; checkJs(); });'我的意思是我爲該方法添加了一些參數...可以告訴我,使用'(script,textstatus)' – User6667769

+0

其實你的代碼適合我。我的意思是最初的代碼。在編輯之前 – User6667769

+0

感謝您寶貴的回覆哥們!! – User6667769