Javascript 如何在mouseover事件中触发引导popover

Javascript 如何在mouseover事件中触发引导popover,javascript,jquery,html,css,twitter-bootstrap,Javascript,Jquery,Html,Css,Twitter Bootstrap,我有一个html表,其中一行如下所示: <tr> <td><input type="checkbox" name="check[]" value="265"></td> <td>265</td> <td>NO MATCH</td> <td>http://stackoverflow.com/</td> <td>No<

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

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

265
没有对手
http://stackoverflow.com/
不
0
f79a8316891
我试图构建一个jquery函数,如果我通过表单元格中的URL传递它,它将打开一个bootstrap 2.32 popover。到目前为止,我已经:

    $("[data-bind='popover']").popover({
         trigger: 'hover',
         html: true,
         content: function(){ 
          return $(this).data('content');
         }
        });



        $('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);

            }
        });
$(“[data bind='popover']”).popover({
触发器:“悬停”,
是的,
内容:函数(){
返回$(this.data('content');
}
});
$('td')。on('mouseover',函数(e){
var contents=$(this.html();
if(contents.match(“^http”)){
控制台日志(内容);
this.innerHTML='';
log(this.innerHTML);
}
});
这一部分的popover是基于

当我将鼠标移到表中的url上时,它会像预期的那样形成一个popover链接。然而,当我把鼠标放在它上面时,就我所能看到的范围而言,没有弹出窗口出现。代码确实有效,但不会触发popover

有趣的是,我还

<a href="myreference.html" data-bind="popover data-content="http://upload.wikimedia.org/wikipedia/commons/a/a5/Flower_poster_2.jpg">Brick</a> 

下面是我的表格,这是与一个popover创建工作。我想知道这种行为是否与操作顺序有关,因为popover链接是在DOM设置之后动态创建的。有人能在这里给我建议吗?

您需要添加

触发器:“悬停”

将选项对象添加到如下所示:

$('.popover标记>.trigger').popover({
是的,
标题:函数(){
返回$(this.parent().find('.head').html();
},
内容:函数(){
返回$(this.parent().find('.content').html();
},
容器:'主体',
位置:'底部',
触发器:“悬停”
});

这是流行音乐的标题。
这是popover内容


引导弹出框的默认触发器是“单击”事件。您在这里定义的是“在鼠标上方,检查我鼠标下的内容是否是链接,如果是,请定义一个弹出框”,但您的问题是,您从未触发弹出框打开,您只是定义了它,以便在单击时打开它

改变这个

$('.popover-markup').popover(...)
对此

$(this).popover(...)
使“”成为popover(我不是100%确定您可以将a定义为popover,但它似乎应该工作)。然后,在定义了popover选项的代码之后,您可以立即触发一个“click”事件,或者通过发送“show”命令将其打开。最后,您可以通过在定义popover时向选项列表中添加“触发器”:“悬停”来触发它打开。。。当用户不再将鼠标悬停在td元素上时,它将自动隐藏它

//Trigger click
$(this).trigger("click");

//Trigger popover open (probably the better way)
$(this).popover("show");

//Trigger on hover
$(this).popover({
    ...
    trigger: 'hover',
});
总之

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

    if (contents.match("^http")) {
       $(this).popover({
            html : true,
            title: function() {
              return $(this).parent().find('.head').html();
            },
            content: function() {
              return $(this).parent().find('.content').html();
            },
            container: 'body',
            placement: 'bottom'
        });

        // Trigger the popover to open
        $(this).popover("show");
    }
});

它不应该是JSFIDLE中的
$('.popover markup>.trigger')
吗?这也不起作用。您从未初始化生成到该表单元格中的锚,要使其工作,您必须像另一个一样初始化它。嗨,Franz,我使用的是,无论我将鼠标悬停在链接上还是单击它,都不会出现弹出窗口。我已如上所述修改了问题。感谢您的尝试。谢谢,我将不得不回到这个问题。我通过点击或悬停意识到popover根本不起作用。我已经让popover使用bootstrap 2.32,我已经用你的建议修改了这个问题,我认为你在这方面是正确的,所以我会接受你的答案,但是关于动态创建的弹出框,有一些问题-