【发布时间】:2015-07-07 01:10:08
【问题描述】:
我正在开发的 Rails 应用程序出现一些奇怪的行为。我正在尝试使用 jquery-tablesorter gem 并取得好坏参半。基本上,我创建的页面在页面加载后一直在控制台中给我以下错误:
Uncaught TypeError: $(...).tablesorter is not a function
(anonymous function) @ VM604:4
m.Callbacks.j @ jquery.min.js:2
m.Callbacks.k.add @ jquery.min.js:2
m.fn.ready @ jquery.min.js:2
(anonymous function) @ VM604:2
executeScriptTags @ turbolinks.js?body=1:227
changePage @ turbolinks.js?body=1:197
xhr.onload @ turbolinks.js?body=1:107
奇怪的是,如果我在页面打开后刷新页面并显示错误,那么一切正常,控制台中没有错误。我猜想jquery 库在jquery-tablesorter 之前没有加载。此外,我怀疑这与turbolinks 有关,因为我之前在使用twitter-boostrap-rails gem 时遇到过类似的错误,但能够通过重新排序我的application.js 文件来修复它。但我做的任何事情似乎都无法解决这个错误。这是我的application.js 文件的当前状态:
//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//= require twitter/bootstrap
//= require bootstrap-switch
//= require jquery-tablesorter
//= require_tree .
//= require turbolinks
感谢任何修复错误的建议。
【问题讨论】:
-
您在哪个事件上将 tablesorter 绑定到元素?你能提供这个代码吗?我做了一个使用 turbolinks 的例子——也许这有帮助:github.com/themilkman/tablesorter-demo
-
我正在将其绑定到准备好的文档上,如下所示:
<script type="text/javascript"> $(document).ready(function() { $("#my_table").tablesorter(); } ); </script>
标签: jquery ruby-on-rails-4 twitter-bootstrap-3 tablesorter turbolinks