Rails 4 + Turbolinks + JQuery Turbolinks + Coffeescript:多次触发事件

 Mr_ZERO0000000 发布于 2023-01-16 10:54

起初,所有javascript都运行良好.

但是,从我导航到另一个页面的那一刻起,任何事件都会被多次触发.如果我刷新页面,一切都恢复正常.

在jquery.turbolink文档中,有一个关于在$(function())块中绑定文档事件的警报.但是,默认情况下,coffescript似乎就像这样.所以我该怎么做?

这是我的环境:

的Gemfile:

gem 'turbolinks'
gem 'jquery-turbolinks'

的application.js

//= require jquery
//= require jquery.turbolinks
//..app js
//= require turbolinks

application.html.erb


  
    
    <%= t 'brand' %> 
    <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
    <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
    <%= yield :head %>
    <%= csrf_meta_tags %>
    
    
  

controller.js.coffee

$(document).ready ->    
  $(document).on 'click', '.addition .label i', (e) ->
    console.log ".addition .label i 'click' fired!"

问题是,显然coffeescript IS生成的javascript文件默认位于一个块内.看看这个:

controller.js(由coffeescript生成)

function() {
  $(document).ready(function() {
    $(document).on('click', '.addition .label i', function(e) {
      console.log(".addition .label i 'click' fired!");
    });
...

那么,我该怎么做才能正确使用coffeescript + JQuery Turbolinks?我应该进行不同的配置吗?

干杯.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有