Rails jquery.tagsinput.js在链接

时间:2017-02-17 09:14:02

标签: javascript jquery ruby-on-rails callback jquery-tags-input

问题

我的文件 jquery.tagsinput 的自定义效果在点击链接后无效,而如果我刷新页面则会修复。< / p>

经过测试的解决方案

我尝试了以下内容:

  1. 禁用turbolinks
  2. 为ready或onload js函数提供文件 - 没有任何内容
  3. 描述

    文件jquery.tagsinput具有以下结构

    (function($) {
       // Different functions and javascript staff
     })(jQuery);
    

    该功能包括我需要执行的不同javascript函数,如果我刷新浏览器它们可以工作。对于前

    $.fn.tagsInput = function(options) { 
       // Some code
     },options);
    

    如果我刷新浏览器,我可以看到相关的html输入字段有两个事件处理程序:

    1. jquery.tagsinput

          $(data.holder).bind('click',data,function(event) {
              $(event.data.fake_input).focus();
          });
      
    2. jquery.js

      if ( !( eventHandle = elemData.handle ) ) { 
      // Some Code    
      };
      
    3. 我的edit.html.erb查看

      <%= f.text_field :skill_list, :class => "tagsinput form-control", :id => "tagsinput", value: f.object.skill_list.map { |t| t}.join(', ') %>
      
    4. 生成以下html代码:

      enter image description here

      非常感谢

      Fabrizio Bertoglio

1 个答案:

答案 0 :(得分:0)

这是我的application.js,它包含以下文件:

//= require jquery.tagsinput
//= require form-component
//= require scripts

Jquery.tagsinput没有就绪函数,但是script.js函数没有,我在编辑script.js就绪函数时问题就出现了。

script.js包含以下代码:

function initializeJS() {
     // Some js code
}
jQuery(document).ready(function(){
    initializeJS();
});

问题原因可能是由于我对script.js ready函数进行了编辑以与turbolinks gem兼容(而不是使用.save我会使用{{1 }})

.on('turbolinks:load'..

一旦我纠正了这一行,问题就被删除了,但我不了解它已被修复的真正原因。我没有禁用turbolinks。我将在未来尝试了解真正的原因并发表解释。

相关问题