Javascript 在整个日历中,我如何按住弹出框直到鼠标离开它?
我在我的角度项目中使用完整的日历来显示事件。我正在使用popover显示活动,并在该popover中的按钮上触发新的单击事件。但我的主要问题是,当我试图在弹出框上拖动鼠标时,这个弹出框被隐藏了。我希望这个弹出框一直显示到我把鼠标移离它为止Javascript 在整个日历中,我如何按住弹出框直到鼠标离开它?,javascript,angularjs,fullcalendar,Javascript,Angularjs,Fullcalendar,我在我的角度项目中使用完整的日历来显示事件。我正在使用popover显示活动,并在该popover中的按钮上触发新的单击事件。但我的主要问题是,当我试图在弹出框上拖动鼠标时,这个弹出框被隐藏了。我希望这个弹出框一直显示到我把鼠标移离它为止 eventRender: function (event, element) { var chk = $(event.target).css('display', 'block'); elemen
eventRender: function (event, element) {
var chk = $(event.target).css('display', 'block');
element.popover({
animation: false,
delay: 300,
html:true,
content: '<div ng-show="checked"><button>abc</button><b>Item</b>:' + event.start + "<b>Fin</b>:" + event.end + "</div>",
//offset: 10,
//container: '#calendar',
trigger: 'hover'
});
eventRender:function(事件,元素){
var chk=$(event.target).css('display','block');
元素。popover({
动画:错,
延误:300,
是的,
内容:“abcItem:”+event.start+“Fin:“+event.end+”,
//抵销:10,
//容器:“#日历”,
触发器:“悬停”
});
我通过应用mouseenter和mouseleave事件解决了这个问题
element.popover({
动画:错,
延误:300,
是的,
内容:“abcItem:”+event.start+“Fin:“+event.end+”,
//抵销:10,
//容器:“#日历”,
触发器:“悬停”
})
.on(“mouseenter”,函数(){
var_this=这个;
$(此).popover(“显示”);
$(“.popover”).on(“mouseleave”,函数(){
$(_this.popover('hide');
});
}).on(“mouseleave”,函数(){
var_this=这个;
setTimeout(函数(){
如果(!$(“.popover:hover”).length){
$(_this).popover(“隐藏”);
}
}, 300);
});
您使用的是哪种popover?哪个库?您应该用它来标记您的问题,因为问题似乎与popover有关,而不是与fullCalendar或Angular有关。您可以对popover.close函数()使用setTimeout,让用户点击按钮的时间。正如@ADyson所说,响应更多的是来自您的popover设置,而不是fullcalendarThanx,但我解决了这个问题。在这种情况下,请在下面的回答部分发布您的解决方案(回答您自己的问题是完全合法的),或者,如果这个问题是一些琐碎的事情,比如打字错误,其他人不会感兴趣,那么你可以删除这个问题。不要把你的帖子挂在这里无用。谢谢。
element.popover({
animation: false,
delay: 300,
html:true,
content: '<div ng-show="checked"><button>abc</button><b>Item</b>:' + event.start + "<b>Fin</b>:" + event.end + "</div>",
//offset: 10,
//container: '#calendar',
trigger: 'hover'
})
.on("mouseenter", function () {
var _this = this;
$(this).popover("show");
$(".popover").on("mouseleave", function () {
$(_this).popover('hide');
});
}).on("mouseleave", function () {
var _this = this;
setTimeout(function () {
if (!$(".popover:hover").length) {
$(_this).popover("hide");
}
}, 300);
});