我正在使用Bootstrap 3.2.0。我正在尝试使用两个bootstrap JavaScript功能:Scrollspy和Affix。我们的目标是在使用词缀的同时滚动页面的其余部分。 DemoJavascript只会在刷新页面后才起作用
以下是我的JavaScript文件,包含在Rails资产管道的head
中。
$(document).ready(function() {
// Use affix plugin
$("#sidebar").affix({
offset: { top: 280 }
});
// Use Scrollspy
$('body').scrollspy({ target: '#sidebar', offset: 200 });
}
该滚动工作顺利,但附加插件不,除非我在初始加载后刷新页面。在Chrome中使用开发人员工具时,我注意到,第一次加载页面时,javascript不会将affix-top
添加到sidebar
。
当我将词缀插件直接放入正文中时,它的工作原理没有更新。但我真的不想使用内联JavaScript。我很好奇为什么这种奇怪的行为正在发生。
我正在使用Rails 4.1.5。
谢谢你,我把它通过围绕'$(文件)。就绪整个代码工作(函数(){})'和'$(窗口).bind('page:change',function(){})'但是你的解决方案要简单得多。 – 2014-09-22 11:36:59
我只是想围绕这个情况来回头。我对这个问题的理解是,我在Turbolinks加载JS文件后添加了新的DOM元素,除非刷新页面,否则JS文件无法绑定到新元素。那是对的吗? – 2014-09-22 11:42:41