在html中的<script>标签中写js,和在引入的js文件中写js存在什么区别?

新手上路,请多包涵

我在使用jquery chosen这个下拉插件的时候,把初始化代码

$('#maintainerName').chosen();

写在引入的js文件中的时候,插件无法使用,样式可以加载出来,但点击下拉框没有反应。

但只要我把这行代码写在当前html的<script>中,就一切正常。

在html中的<script>标签中写js,和在引入的js文件中写js存在什么区别?

谢谢

阅读 6.3k
4 个回答
✓ 已被采纳新手上路,请多包涵

非常感谢大家的回答,大家说的我都试了,虽然没有成功。很有可能是我粗心大意或者对vue不熟悉造成的,后来用了别的实现方法,一切正常了。非常感谢大家

js文件是外部引入,html里的是内部书写
外部引入的js能够同时应用于多个html页面,会有更好的扩展性和可维护性。
内部书写的js只能够应用于当前的html文件

方法执行不了的问题有可能是js引入顺序的问题,或者是你的DOM结构是动态加载出来的

建议检查一下引入文件的顺序, 查看一下控制台有无报错。

“但只要我把这行代码写在当前html的<script>中,就一切正常。”确认一下你在html里面直接写和引入外部的js文件的位置是否是一样的。

或者外部引入的js文件改成下面这样试试

$(function(){
    $('#maintainerName').chosen();
})

没什么区别,外部引用就是别的页面也可以用;
至于你说的不起作用,可能是你引用的位置不对吧;
在body结束标签之前,先引入插件,再引入你写的js文件试试

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题