jQuery小部件在Rails 4中消失了

时间:2014-01-20 21:13:00

标签: jquery ruby-on-rails

我正在做两个项目。一个有jQuery Datepicker,另一个使用jQuery bxSlider。我对两者都有同样的问题。当我导航到这些小部件所在的URL时,小部件不会出现。只有当我在浏览器上点击刷新时才会出现。然后,当我导航到另一个链接并再次返回时,小部件再次消失,直到我再次点击刷新。

修改

我添加了以下内容:

$(document).on('ready', function(){
  $('.slider').bxSlider({
    slideWidth: 230,
    minSlides: 1,
    maxSlides: 3,
    moveSlides: 1,
    slideMargin: 10
  });
});

1 个答案:

答案 0 :(得分:0)

你遇到了一个名为Turbolinks的新增Rails 4的问题。您不能只绑定到ready事件,因为只在整页重新加载时调用(Turbolinks尽可能避免)。您需要绑定到page:change事件,如下所示:

$(document).on('page:change', function () {
  $('.slider').bxSlider({
    slideWidth: 230,
    minSlides: 1,
    maxSlides: 3,
    moveSlides: 1,
    slideMargin: 10
  });
});

您可以阅读有关turbo链接的更多信息here