Jquery 引导popover在第一个mouseenter事件上不起作用
我使用的代码如下Jquery 引导popover在第一个mouseenter事件上不起作用,jquery,twitter-bootstrap,popover,jquery-hover,Jquery,Twitter Bootstrap,Popover,Jquery Hover,我使用的代码如下 <a class="reply" data-content="this is the mail" data-original-title="this is the title" rel="popover">this</a> $(document).on("mouseenter",".reply",function(event){ $(this).popover({placement:'bottom'}); }); 但问题是在第一个悬停事件中
<a class="reply" data-content="this is the mail"
data-original-title="this is the title" rel="popover">this</a>
$(document).on("mouseenter",".reply",function(event){
$(this).popover({placement:'bottom'});
});
但问题是在第一个悬停事件中,popover没有显示出来
从第二个活动开始,popover正常播放。。。这类活动的原因是什么以及如何纠正…您需要在弹出框的选项中添加
触发器:“悬停”或触发器:“手动”
。。就我个人而言,我会用以下内容替换您的javascript
$(function(){
$('.reply').popover({
placement: 'bottom',
trigger: 'hover'
})
})
编辑,如果您必须使用已设置的javascript,请尝试此选项
$(document).on("mouseenter",".reply",function(event){
$(this).popover({
placement:'bottom',
trigger: 'hover'
}).popover('show');
});
我找到了答案,加上下面的代码就可以了
$(document).on("mouseenter",".reply",function(event){
$(this).popover({placement:'bottom'});
$(this).popover('toggle');
});
您应该使用选择器
属性来委托Popover插件()。就像这样:
$('body').popover({
placement: 'bottom',
trigger: 'hover',
selector: '.reply'
});
注意:实际上,建议使用比'body'
更窄的代理。只需选择您的元素,然后用鼠标悬停键调用popover即可
$("[rel=popover]").popover({trigger:"hover"});
上面显示的链接代码是从javascript创建的,因此需要委托元素,因此您提到的代码不适用于mealright,不确定您所说的从javascript创建的代码是什么意思,但是我更新了帖子,展示了一个例子,让它保持原来的样子。你的评论+1你的评论帮助我找到了答案。我在下面发布了答案。根据您的代码,弹出框将显示,并且永远不会隐藏。这就是为什么选项中添加了触发器:“hover'
,所以它在鼠标进入时显示,在鼠标离开时隐藏。。如果你能+1答案,而不是注释,那就更好了。额外的代码会在evermouseenter
事件上调用popover初始化代码。-1初始化popover的代码应该只调用一次。