2016-10-11 30 views
0

我正在woking一個ASP.NET項目,並試圖使用attr函數, 當我把腳本標記src的jquery文件功能不是當我通過C#代碼調用它時調用。使用jquery的javascript函數不被稱爲

<script type ="text/javascript" src="jquery-3.1.1.min.js"> 
    $(document).ready(function() { 
     function startGame(path) { 
      alert(path); 
      $("#test").attr("style", "color:Blue"); 
      $("#game_param").attr("value", path); 
      $("#game_embed").attr("src", path); 
     } 
    }); 
</script> 

我試着寫一個簡單的JavaScript溫控功能

<script type ="text/javascript" src="jquery-3.1.1.min.js"> 
    function startGame(a) { 
     alert(a); 
    } 
</script> 

,它不叫任何

即時得到連接錯誤startGame沒有定義,在這兩種情況下。 有人可以向我伸出什麼我做錯了什麼?

+0

顯示代碼在哪裏調用函數....只是定義它不會調用函數.. –

+0

嘗試在單獨的行上包含jQuery腳本。 ''然後把腳本放到'' – mhodges

回答

3

您需要將jQuery源代碼與您的自定義代碼分開。否則,我相信腳本標記內部會被忽略。

<script type ="text/javascript" src="jquery-3.1.1.min.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
    var p = 'here/is/my/path'; 
    function startGame(path) { 
     alert(path); 
     $("#test").attr("style", "color:Blue"); 
     $("#game_param").attr("value", path); 
     $("#game_embed").attr("src", path); 
    } 
    startGame(p); 
}); 
</script> 
+0

剛剛嘗試過,它仍然無法工作 – Plargato

+0

你有什麼想法,爲什麼它仍然不會提醒? – Plargato

+0

我已經更新了我的答案。您可能需要在document.ready函數內調用startGame。 – sethasaurus

0

您的Javascript不正確。

當你這樣做:

<script type ="text/javascript" src="jquery-3.1.1.min.js"> 
    function startGame(a) { 
    alert(a); 
    } 
</script> 

你設置的JavaScript文件的來源是jQuery的JS文件。如果要定義自己的函數,你必須把它放在自己的script標籤,就像這樣:

<script type ="text/javascript" src="jquery-3.1.1.min.js"></script> 
<script type="text/javascript"> 
    function startGame(a) { 
     alert(a); 
    } 
</script> 
0

你確實有多個錯誤。

  1. 瀏覽器會忽略具有src屬性的script標籤中寫任何JavaScript。所以,你需要單獨包括jQuery的,就像這樣:

    <script type ="text/javascript" src="jquery-3.1.1.min.js"></script> 
    <script> 
        // Your code here. 
    </script> 
    
  2. 你從來沒有真正調用該函數,只有聲明它們。如果你只打算使用一次這個,你甚至不需要一個函數:

    <script type ="text/javascript" src="jquery-3.1.1.min.js"></script> 
    <script> 
        $(document).ready(function() { 
         alert(path); 
         $("#test").attr("style", "color:Blue"); 
         $("#game_param").attr("value", path); 
         $("#game_embed").attr("src", path); 
        }); 
    </script> 
    

    否則,你需要聲明它像這樣以後調用的函數:

    $(document).ready(function() { 
        function startGame(path) { 
         // Your code 
        } 
        startGame(); 
    }); 
    

Function Declarations vs Expressions

+0

即時通過C調用它們# – Plargato

+0

你能提供你的C#代碼嗎?如果我的和其他答案在這裏沒有幫助,這可能不是JS中的問題。 –