基本的jQuery方法在Rails中不起作用

时间:2015-11-24 21:27:30

标签: jquery ruby-on-rails

我很困惑。一些基本的jQuery方法不起作用。当另一个人做的时候。

这是我的application.js文件

//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require bootstrap-toggle-buttons
//= require turbolinks
//= require_tree .

我有一个模态,我想在点击div时进行一些更改(添加勾号)。

此代码有效。

$(document).ready(function(){
   $( ".product-to-choose" ).click(function() {
       var icon = jQuery(this).find("i");
       icon.css("display","inline");
   });
 });

但是当我想添加未选中的选项时:

$(document).ready(function(){
   $( ".product-to-choose" ).click(function() {
       var icon = jQuery(this).find("i");
       icon.toggleClass('visible');
   });
 });

它不起作用......

所以我尝试另一种方式:

$(document).ready(function(){
   $( ".product-to-choose" ).click(function() {
       var icon = jQuery(this).find("i");

       if(icon.hasClass('visible')){
           icon.removeClass('visible');
       }
       else{
           icon.addClass('visible');
       }
   });
});

然后它首先添加了类,但是当我再次单击时,什么都没有消失。 我不知道是怎么回事。是jQuery和Rails之间的任何不兼容吗?

1 个答案:

答案 0 :(得分:0)

经过一些研究后,我知道问题在于在Rails中集成jQuery和turbolinks。 我找到了这个主题,例如:Rails 4: how to use $(document).ready() with turbo-links

我希望它对某些人有用,对我来说遗憾的是不完全正确。 当我在脚本标签中有代码时一切正常。但是当js代码在application.js中时,它不起作用。