【发布时间】:2014-06-25 11:23:17
【问题描述】:
一开始,所有 javascript bounded 都运行得很好。
但是,从我导航到另一个页面的那一刻起,任何事件都会被多次触发。如果我刷新页面,一切都会恢复正常。
在 jquery.turbolink 文档中,there is an alert 关于在 $(function()) 块内绑定文档事件。但是,默认情况下,咖啡脚本似乎是这样工作的。那么,我该怎么办?
这是我的环境:
宝石文件:
gem 'turbolinks'
gem 'jquery-turbolinks'
应用程序.js
//= require jquery
//= require jquery.turbolinks
//..app js
//= require turbolinks
application.html.erb
<html>
<head>
<meta charset="utf-8">
<title><%= t 'brand' %> </title>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<%= yield :head %>
<%= csrf_meta_tags %>
<meta name="description" content="<%= yield :page_description %>">
<meta name="keywords" content="<%= yield :page_keywords %>">
</head>
controller.js.coffee
$(document).ready ->
$(document).on 'click', '.addition .label i', (e) ->
console.log ".addition .label i 'click' fired!"
问题是,显然由 coffeescript 生成的 javascript 文件默认在一个块内。看看吧:
controller.js(由咖啡脚本生成)
function() {
$(document).ready(function() {
$(document).on('click', '.addition .label i', function(e) {
console.log(".addition .label i 'click' fired!");
});
...
那么,我应该怎么做才能正确使用coffeescript + JQuery Turbolinks? 我应该进行不同的配置吗?
干杯。
【问题讨论】:
标签: ruby-on-rails-4 coffeescript turbolinks