我如何在console.log中点击一个单击的bootstrap popover的标题?

时间:2013-02-05 15:50:28

标签: javascript jquery twitter-bootstrap

如果我有这个popover代码:

  $('.UofTennesseeKnox').popover({
    'placement': 'bottom',
    'title': '<a class="passName" href="#">University of Tennessee-Knoxville</a>',
    'content': 'Facilities Services Department 2233 Volunteer Boulevard, Room 203 Knoxville, TN 37996-3010',
    'html': 'true'
  });

获取.passName内容的此代码不起作用:

        $('.passName').click(function(){
            console.log($(this).html());
        });

我做错了吗?或者它不起作用,因为.passName在弹出窗口中,我可以做这样的事情,只有在加载弹出窗口后才能触发$('.passName').click(function())吗?:

  $('.UofTennesseeKnox').popover({
    'placement': 'bottom',
    'title': '<a class="passName" href="#">University of Tennessee-Knoxville</a>',
    'content': 'Facilities Services Department 2233 Volunteer Boulevard, Room 203 Knoxville, TN 37996-3010',
    'html': 'true'
  }, passNamefunction());

2 个答案:

答案 0 :(得分:1)

我认为这是因为您动态创建此元素,请尝试使用.on()

    $(document).on("click", ".passName", function(){
        console.log($(this).html());
    });

答案 1 :(得分:1)

您可以使用HTML属性data-original-title来设置popover元素上的数据。这样,您以后更容易阅读数据:

$(".UofTennesseeKnox").attr("data-original-title", "Your title");
$(".UofTennesseeKnox").popover({ 
    // Your other options here
});

var title = $(".UofTennesseeKnox").attr("data-original-title");

我想您甚至可以稍后使用.data()来读取数据属性。我没有验证。

var title = $(".UofTennesseeKnox").data("original-title");