0

我怎样才能让监听器为data-content=""中的按钮而工作

li中获得a没有问题,但在ul > li > a > data-content > 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")
        });
4

1 回答 1

0

这不是很明显的实现。Bootstrap 插件的实现很差。特别是 tooltip 和 popover 不会触发任何事件,也没有任何方法可以访问它们的内容。至少在官方文档中。

但是您可以应用一些技巧将事件附加到弹出框内容。Popover 将它的对象存储在.data('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/

于 2013-06-20T12:46:49.713 回答