popover数据内容js监听器无法正常工作

时间:2013-06-20 10:51:47

标签: html5 twitter-bootstrap popover

如何让一个听众为 data-content =“”

内的按钮而烦恼?

li 中的 a 没有问题,但 ul> li> a>数据内容>一个

  <div class="row">
    <div class="span12">
      <div class="tabbable indent-1">
        <ul class="nav nav-tabs">
          <li class="active"><a class="bgw" href="#psusel" data-toggle="tab">TAB 1<span style=" font-size:18px;">&#62;&#62;</span></a></li>
          <li><a href="#" data-pop="popover" data-toggle="tab" id="make_active" title="bbbb" data-content="<a href='#6ufac' id='listen_here' data-toggle='tab' class='btn btn_primary'>POPOVER B1</a><a href='#3ufac' data-toggle='tab' class='btn btn_primary margin_left'>POPOVER B2</a>">TAB 2</a></li>
        </ul>
      </div>
    </div>
  </div>


---JS Script----
var make_active = $('#make_active');
var make_li_active = make_active.attr('data-content');
var listen_here = $('#listen_here');    

        make_active.click(function () {
        alert(make_li_active)
        });
        listen_here.click(function () {
        alert("GOT IT")
        });

1 个答案:

答案 0 :(得分:0)

实现这一点并不是那么明显。 Bootstrap插件的实现很差。特别是工具提示和弹出窗口不会触发任何事件,也没有任何方法可以访问其内容。至少在官方文档中。

但是有一些技巧可以应用于将事件附加到弹出窗口内容。 Popover将其对象存储在元素的.data('popover')处。该对象本身有一个获取popover html对象的方法:

make_active.popover();
var popoverBox = make_active.data('popover').tip();

不幸的是,它尚未填充您在data-content属性中定义的内容。但您可以在其上附加委托事件:

popoverBox.on('click', '#listen_here', function(){
 alert('POPOVER B1');
});

利润。实例:http://jsfiddle.net/3FzDL/