javascript - 在 Twitter Bootstrap Popover 中使用 jQuery 选择元素

标签 javascript jquery twitter-bootstrap

我将以下内容放在 Twitter Bootstrap 弹出窗口中,其中包含一个我想监听其点击次数的链接:

<div id="popover-content">
  <a id="link" href="#">click</a>
</div>

我正在使用一个按钮来显示包含上述内容的弹出窗口:

<button id="trigger" data-placement="bottom" title="title">Reveal popover</button>

然后我将该按钮与弹出窗口相关联并使用 jQuery 的 click() 函数来尝试监听对弹出窗口中包含的链接的点击:

$(function(){
  $('#trigger').popover({ 
    html: true,
    content: function() {
      return $('#popover-content').html();
    }
  }); 

  $('#link').click(function() {
    alert('beep');
  });
});

但是,在单击按钮以显示弹出窗口然后单击链接时,似乎没有按上述预期检测到单击。我对 DOM、javascript 和 jQuery 的理解相当有限,所以我不确定这里发生了什么。您如何选择/监听弹出窗口中包含的元素的操作?

引用:Popovers in Bootstrap

最佳答案

您不需要在这里执行事件委托(delegate)。而是使用 $('#popover-content') 代替 $('#popover-content').html() 同时设置内容。这将默认附加注册的事件,无需任何委托(delegate)。

Demo

$(function(){
  $('#trigger').popover({ 
    html: true,
    content: function() {
      return $('#popover-content'); //<-- Remove .html()
    }
  }); 

  $('#link').click(function() {
    alert('beep');
  });
});

关于javascript - 在 Twitter Bootstrap Popover 中使用 jQuery 选择元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16494616/

相关文章:

Javascript 对象数组转换成字符串?

css - Bootstrap hidden-md 不工作

html - bootstrap 4 在特定视口(viewport)禁用 mx-auto

javascript - javascript中如何从url获取文件数据

Jquery,获取#000000 格式的.css "background-color"?

javascript - 折线图的 x 坐标缩放

使用数组的 jQuery 可拖动包含未按预期工作

html - 水平对齐井内的元素

javascript - 根据服务器的响应动态更改 href 地址

JavaScript Regexp 来模拟 echo 语句