2016-10-11 2 views
0

Я просыпаюсь в проекте ASP.NET, и я пытаюсь использовать функцию attr, , когда я помещаю в тег скрипта src для файла jquery, функция не является вызванный, когда im вызывает его через код C#.Функция javascript, которая использует jquery, не называется

<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 fucntion

<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

Я обновил свой ответ. Вероятно, вам нужно вызвать startGame в функции document.ready. – 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. Браузеров будут игнорировать любые JavaScript написанных внутри script тега, который имеет атрибут src. Так что вам нужно включить 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

im, вызывающий их через C# – Plargato

+0

Можете ли вы представить свой код на C#? Если мои и другие ответы здесь не помогли, это, возможно, не проблема в JS. –

Смежные вопросы