Me estoy tirando de los pelos por esto. ¿Por qué foo() no está definido cuando hago clic en el botón en este script?
<html> <body> <script type="text/javascript" src="./app2.js"/> <script"> function foo() { console.log('foo...'); } </script> <button type="button" onClick="foo()" id="testbutton">Click!</button> <button type="button" onClick="hello()">Click hello!</button> </body> </html>
pero no si elimino la primera etiqueta de script?
<html> <body> <!-- <script type="text/javascript" src="./app2.js"/>--> <script> function foo() { console.log('foo...'); } </script> <button type="button" onClick="foo()" id="testbutton">Click!</button> </body> </html>
Mi app2.js es solo
function hello() { console.log('hello'); }
He probado en Chrome y Safari en macOS. La función hola funciona como se esperaba.
Las etiquetas de cierre automático se usan en React JSX y no en HTML de vainilla Reemplazar
<script type="text/javascript" src="./app2.js"/>
con
<script type="text/javascript" src="./app2.js" ></script>