javascript - 我的 javascript include 标签的顺序很重要,我不明白为什么

标签 javascript jquery ruby-on-rails uploadify

我正在使用回形针和 uploadify,并且能够正常工作。我还使用了一些 AJAX,这样几个提交按钮就不会触发整个页面的重新加载。之前还好好的,现在就停止了(日志显示没有调用js.erb)。

这是我的应用程序中的内容:

[remi@iMac]$ l public/javascripts/
total 728
-rw-r--r--@ 1 remi  staff     148 May 17 08:01 application.js
-rw-r--r--@ 1 remi  staff   34787 May 17 08:01 controls.js
-rw-r--r--@ 1 remi  staff   31056 May 17 08:01 dragdrop.js
-rw-r--r--@ 1 remi  staff   38467 May 17 08:01 effects.js
-rw-r--r--@ 1 remi  staff   72328 May 22 10:50 jquery-1.4.2.js
-rw-r--r--@ 1 remi  staff  162353 May 17 08:01 prototype.js
-rw-r--r--@ 1 remi  staff    5850 May 17 08:01 rails.js
-rwxr-xr-x@ 1 remi  staff   10220 May 17 08:01 swfobject.js
drwxr-xr-x  5 remi  staff     170 May 22 10:38 uploadify

我注意到 javascript include 标签的顺序有所不同。当我首先包含 jquery 时,uploadify 不起作用,但 ajax 工作正常。

  <%= javascript_include_tag "jquery-1.4.2.js" %>   
  <%= javascript_include_tag :defaults %>

当我更改它时,uploadify 可以工作,但单击我的 ajax 按钮会重新加载页面:

   <%= javascript_include_tag :defaults %>
   <%= javascript_include_tag "jquery-1.4.2.js" %> 

我对此还很陌生,你能给我一些解释吗?

最佳答案

JavaScript 文件按“出现顺序”加载。您需要按照您希望它们与其他 JavaScript 文件一起工作的方式包含它们。

例如:

<script>
    // I need some stuff written in script1.js
</script>
<script src="script1.js"></script>

不会工作,因为你需要在你的东西之前加载 script1.js。

这就是为什么必须首先加载 JavaScript 库(如 jQuery 或 Prototype)(最重要的是包含在内)。这就是为什么你的 AJAX 东西在 jQuery 之前加载时不起作用。

关于javascript - 我的 javascript include 标签的顺序很重要,我不明白为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6091209/

相关文章:

javascript - 按 Angular ng-repeat 中的行限制文本大小

Javascript JQuery : Object doesn't support property or method 'toLowerCase'

javascript - 检查图像是否从缓存中加载

ruby-on-rails - 与 Ruby 2.0 或 1.9 相比,Ruby 2.1 的内存使用量增加

ruby-on-rails - 在 Rails 开发环境中允许不安全的脚本

javascript - React 中的异步操作是否应该依赖于重新渲染?

javascript - 连接调试器时 Electron BrowserWindow 无法获得响应

ruby-on-rails - 带有设计的未知属性

javascript - 如何在点击不同的 div 时切换 div?

javascript - 如何在 asp.net 中使用 Javascript 永久禁用按钮?