我的导航栏中的Bootstrap弹出式窗口出现问题。导航栏位于主application.html.erb中。加载页面后它就可以工作,但是一旦我移到另一个页面上,弹出窗口就会停止工作,直到再次刷新该站点为止。这是html / ruby​​:

<button class = "btn navbar-btn btn-primary" id="popoverFriends" data-placement = "bottom" data-trigger="focus">Workplace Proximity Acquaintances <span class="badge"><%= @user.pending_friends.count %></span></button>

<div id="popoverFriendsHiddenContent" style="display: none">
    <% unless @user.pending_friends.empty? %>
    <% @user.pending_friends.each do |u| %>
    <h3 class="text-center"><%= link_to u.username, user_path(u.id) %>
        <%= link_to 'YAY!', user_friend_path(:user_id => current_user, :friend_id => u), class: "btn btn-warning", :method => :put, :confirm => 'Accept friend request! Are you sure?' %>
        <%= link_to 'No.', user_friend_path(:user_id => current_user, :friend_id => u), class: "btn btn-danger", :method => :delete, :confirm => 'Reject friend request! Are you sure?' %>
        <% end %>
        <% else %>
        None :(
        <% end %>
    </h3>
</div>
<div id="popoverFriendsHiddenTitle" style="display: none">
    <h3>Your requests: </h3>
</div>
</div>


和.js

$(document).ready(main)
var main = function(){
 $('[data-toggle="popover"]').popover()
 $("#popoverFriends").popover({
    html : true,
    content: function() {
      return $('#popoverFriendsHiddenContent').html();
    },
    title: function() {
      return $('#popoverFriendsHiddenTitle').html();
    }
});
};


如果我遗漏了一些东西,请告诉我,以使弹出窗口在整个网站上保持不变。

最佳答案

在运行默认指定使用Turbolink的Vanilla Rails应用程序时遇到了这个问题。我不得不禁用涡轮链接。禁用功能的一种方法是:

http://blog.steveklabnik.com/posts/2013-06-25-removing-turbolinks-from-rails-4

该页面指出:


  从您的Gemfile中删除gem'turbolinks'行。
  
  从您的app / assets / javascripts / application.js中删除// = require涡轮链接。
  
  从您的app / views / layouts / application.html.erb中删除两个“ data-turbolinks-track” =>真正的哈希键/值对。


编辑

另一种方法是接受Turbolinks在某些应用程序中可以具有某些价值,并加入其事件模型。监听事件页面:更改并触发Bootstrap popover方法以再次刷新新绘制的popover元素。这样的事情应该起作用:

$(document).on('page:change', function(){
  $('[data-toggle="popover"]').popover();
});

关于javascript - Bootstrap Popover停止在下一页上工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32748463/

10-13 07:54