jQuery小部件在Rails 4中消失了

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

编辑

我添加了以下内容:

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

你遇到了一个名为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链接的更多信息。