Member 10628309 Ответов: 1

Как сделать так, чтобы вызов функции в HTML-файле был распознан в js-файле


I have included code which works perfectly but when I move the javascript tags and code to a external .js file the function call in the html file is not recognized "function is not defined". I believe the problem is scope, of the function call in the html file... apparently its not global and therefore it is not recognized by the js file. When I moved the javascript code to an external file within the same folder as the html file I inserted <script src="myjsfile.js"></script> into the body section...I also tried inserting it into the head section, however it still didn't work. How can I make function calls (by button clicks) within my html file without having to include the javascript code in the html file? How would you fix this simple file?


<!DOCTYPE html>
<html>
<head>
  <title>My Title</title>
  <style>
  #myDIV {
    width: 200px;
    height:100px;
    background-color: #FC20FF;
    color: #27FFF8;
  }
  </style>
  </head>
<body>
  <p>Click the button to set the backgroundColor property.</p>
  <button onclick="myFunction()">Execute myFunction</button>
  <div id="myDIV">
    <h1>How are you?</h1>
  </div>
  <script>
  function myFunction() {
    document.getElementById("myDIV").style.backgroundColor = "#291CE8";
  }
  </script>
</body>
</html>


Что я уже пробовал:

Перемещение местоположения ссылки на файл javascript и многие другие предложения, опубликованные в строке, но ни одно из них не сработало. Большинство говорили о локальных и глобальных переменных, я считаю, что это локальная или глобальная функциональная проблема.

Bryian Tan

может быть, путь к файлу JavaScript неверен? Попробуйте вы абсолютный путь и посмотрите, что произойдет.

F-ES Sitecore

Либо путь к файлу js неверен, либо вы используете функцию до ее определения. Показывать нам код, который работает, не очень помогает, нам нужно видеть код, который не работает, и знать, где находятся файлы html и js относительно друг друга.

1 Ответов

Рейтинг:
1

Member 10628309

Использование слова "myFunction" для имени функции является проблемой. Когда я менял имя на stop или go или какое-то другое слово, оно прекрасно работало с js в отдельном файле. Очевидно, слово myFunction-это защищенное слово.