【问题标题】:How to trigger dynamically created bootstrap popover with jquery如何使用 jquery 触发动态创建的引导弹出窗口
【发布时间】:2023-03-15 12:56:01
【问题描述】:

我有一个 html 表,其中一行如下所示:

<tr>
    <td><input type="checkbox" name="check[]" value="265"></td>   
    <td>265</td>
    <td>NO MATCH</td>
    <td>https://stackoverflow.com/</td>
    <td>No</td>
    <td>0</td>
    <td>f79a8316891</td>
  </tr>

我正在尝试构建一个 jquery 函数,如果我通过表格单元格中的 URL 传递它,它将动态创建(如果它不存在)并打开一个引导 2.32 弹出窗口。到目前为止,我有:

       $('td').on('mouseover', function(e) {
            var contents = $( this ).html() ;

            if (contents.match("^http")) {
                console.log(contents);

                 this.innerHTML = '<a href="myreference.html" data-bind="popover"' + ' data-content="'+contents +'"> link </a>';
                 console.log(this.innerHTML);

            };

            // Trigger the popover to open
            console.log(this.innerHTML );
            $(this.innerHTML ).popover("show");


        });

这里的弹出框部分基于http://jsfiddle.net/8DP4T/1/

当我将鼠标悬停在表格中的某个 url 上时,它会按预期形成一个弹出链接,如下所示:

<a href="myreference.html" data-bind="popover" data-content="https://stackoverflow.com/"> link </a>

但是,当我将鼠标悬停在它上面时,不会出现弹出窗口。

有趣的是,我也放了

<a href="myreference.html" data-bind="popover" data-content="https://stackoverflow.com/">Brick</a> 

在我的桌子下面,这正在使用创建的弹出框。

这似乎是 Twitter Bootstrap Popovers not working for Dynamically Generated Content 等问题的已知问题。在我的情况下,我怎样才能让它发挥作用?

【问题讨论】:

    标签: javascript jquery twitter-bootstrap


    【解决方案1】:

    您没有创建合适的选择器来将弹出框绑定到。

    当你有:

    $(this.innerHTML ).popover("show");
    

    和写法一样

    $('<a href="myreference.html" ....</a>').popover("show");
    

    jQuery 无法将该字符串与任何 DOM 元素匹配。该字符串不在 DOM 中。

    您需要使用适当的选择器并遍历目标,例如:

     $(this).find('a');
    

    或者,如果您从字符串创建了一个 jQuery 对象,并使用像 html() 这样的 jQuery 方法来插入它,那么您可以在插入 jQuery 对象后使用新形成的 jQuery 对象将插件绑定到

    var $link = $('<a href="myreference.html" ....</a>');
    $(this).html($link);
    $link.popover("show");
    

    【讨论】:

    • 感谢您的解释!在你的帮助下,我得到了它。 - 比尔
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-26
    • 1970-01-01
    • 2011-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-18
    相关资源
    最近更新 更多