第二次单击时显示Bootstrap popover

时间:2016-11-07 16:59:00

标签: javascript jquery twitter-bootstrap

我有一个数据绑定列表,其中一列显示一个popover:

<tbody data-bind="foreach: tehTab()">
   <tr>
      <td data-bind="text: $data.Category"></td>
      <td data-bind="text: $data.Name"></td>
      <td><button type="button" class="btn" onclick="getInfo(this.id)" data-bind="attr: { id: $data.Id}, text: $data.Value" style="border:none; background-color:white"></button></td>
   </tr>
</tbody>

getInfo 功能:

function getInfo(click) {
    $('#' + click).popover({
        content: 'Dana' + Math.random(),
        html: true
    });
}

我唯一的问题是弹出窗口出现在第二次点击,但我不知道为什么。我需要添加一些内容吗?

2 个答案:

答案 0 :(得分:3)

找到原因:)第一次点击我的popover正在初始化,第二次显示。它的解决方案是:

function getInfo(click) {
    $('#' + click).popover({
        content: 'Dana',
        html: true
    });

    $('#' + click).popover("show");
}

答案 1 :(得分:0)

在初始化不同方式时遇到同样的问题。我的解决方案是将它初始化为:

$(document).on("page:load ready", function(){
  $('body').popover({selector: '.my-popover-class', trigger: 'click'});
})

popover()的其他选项为here