Javascript 定义函数之前对函数的引用
我已经读到,如果你想让你的网站看起来加载更快,那么你应该把你的javascript放在html文件的末尾,如下所示Javascript 定义函数之前对函数的引用,javascript,html,Javascript,Html,我已经读到,如果你想让你的网站看起来加载更快,那么你应该把你的javascript放在html文件的末尾,如下所示 <html> <body> </body> <script> //my awesome javascript functions go here because it lets things load faster //than if it was at the top </script> </html>
<html>
<body>
</body>
<script>
//my awesome javascript functions go here because it lets things load faster
//than if it was at the top
</script>
</html>
问题是当我创建按钮或使用调用这些函数的onChange事件时。
我怎么能让我的JS保持在页面的底部,并在它读取到需要调用JS函数时定义JS呢
比如说
<html>
<body>
<input type="text" onChange="myfunction()"/>
</body>
<script>
function myfunction(){}
</script>
</html>
我用伪代码ishly编写代码,这样您就不会关注我的任何语法错误,而是更多地关注我打算如何处理这一问题。
当创建页面时,它正确地创建了html,但是给了我一个控制台错误,说myfunction没有定义。
如果我将脚本部分移到正文上方,这会起作用,但建议将其保持在最后,以提高页面加载速度
请注意,我没有使用jquery
我原本以为这是一个复制品,但它似乎没有回答我的问题
------------更新--------------
使用事件侦听器
<html>
<body>
<input type="text" id="myawesometext"/>
</body>
<script>
function myfunction(){}
element = document.getElementById('myawesometext');
element.addEventListener("onChange", myfunction, false);
</script>
</html>
您还可以将更改处理程序移动到底部的脚本标记,以分离关注点。这是解决问题的一种方法,也可以将关注点分开。在这种最后加载脚本的方法中,您可能会使用addEventListener,而不是使用on属性。嗨,把它放在文件里。加载@christian314159嘿,我更新了我的问题。我建议的方法是正确的吗?谢谢大家的帮助!对不起,这些简单的问题!这是一种方式,而事件的名称将只是使用addEventListener更改,您总是忽略on。请注意,有一些浏览器的怪癖,因此根据您是否必须支持一些旧的IE版本,您可能必须使用稍微不同的语法-这就是像jQuery这样的库非常方便的地方,因为它可以为您提供这些功能。