admin管理员组文章数量:1290951
How can I hide popover element when I start dragging event in fullcalendar and after stop dragging show popover again?
I have this code:
eventRender: function(event, elementos, resource, view) {
var start = $.fullCalendar.formatDate(event.start, "DD-MM-Y HH:mm");
var end = $.fullCalendar.formatDate(event.end, "DD-MM-Y HH:mm");
elementos.popover({
title: start + ' — ' + end,
content: event.title,
trigger: 'hover',
placement: 'top',
container: 'body'
});
}
And when I want to resize or dragging event this happend:
Thank you!
How can I hide popover element when I start dragging event in fullcalendar and after stop dragging show popover again?
I have this code:
eventRender: function(event, elementos, resource, view) {
var start = $.fullCalendar.formatDate(event.start, "DD-MM-Y HH:mm");
var end = $.fullCalendar.formatDate(event.end, "DD-MM-Y HH:mm");
elementos.popover({
title: start + ' — ' + end,
content: event.title,
trigger: 'hover',
placement: 'top',
container: 'body'
});
}
And when I want to resize or dragging event this happend:
Thank you!
Share Improve this question asked Mar 30, 2018 at 8:27 Alexander FrolovAlexander Frolov 831 silver badge6 bronze badges 1- Don't forget to accept the answer you think it's right. We are expecting this from you. Don't just ask and go away. – Taha Paksu Commented Apr 5, 2018 at 6:08
5 Answers
Reset to default 3You should use eventAfterRender
instead of eventRender
function to achieve the desired result. So your code will look like this:
eventAfterRender: function(event, elementos, resource, view) {
// code goes here
}
This works because eventRender
is constantly called while dragging because the event is constantly being "snapped" into a cell (in non-month views) and hence ends up creating all the popovers, while eventAfterRender
is triggered after an event has been placed on the calendar in its final position.
You can see it in action here in this codepen
I had a similar issue. Based on Taha code, here is a ready-to-use code for those wondering how to do it with Fullcalendar :
eventDragStart: function( event, jsEvent, ui, view ) {
window.eventScrolling = true;
},
eventDragStop: function( event, jsEvent, ui, view ) {
window.eventScrolling = false;
},
eventRender: (event, elementos, resource, view) {
if(window.eventScrolling) return;
var start = $.fullCalendar.formatDate(event.start, "DD-MM-Y HH:mm");
var end = $.fullCalendar.formatDate(event.end, "DD-MM-Y HH:mm");
elementos.popover({
title: start + ' — ' + end,
content: event.title,
trigger: 'hover',
placement: 'top',
container: 'body'
});
}
},
eventResize: function(event, delta, revertFunc) {
$(".popover").remove();
},
You just need to put $ (". Popover"). Remove (); before the element.popover. Like this.
eventRender: function(event, element, resource, view) {
$(".popover").remove();
var start = $.fullCalendar.formatDate(event.start, "DD-MM-Y HH:mm");
var end = $.fullCalendar.formatDate(event.end, "DD-MM-Y HH:mm");
element.popover({
title: start + ' — ' + end,
content: event.title,
trigger: 'hover',
placement: 'top',
container: 'body',
live: true,
html: true,
placement: 'above'
});
}
Thanks Marcelo Codo, this worked for me. fullcalendar v4
$('.popover').remove();
$(info.el).popover({ title: 'ddd', placement:'top', trigger : 'hover', content: tooltip, container:'body' }).popover('show');
You can add a flag to the scroll event that the popover shouldn't render.
pseudocode:
$("element").on("dragstart", function(){
window.eventScrolling = true;
});
$("element").on("dragend", function(){
window.eventScrolling = false;
});
eventRender: function(event, elementos, resource, view) {
if(window.eventScrolling) return;
var start = $.fullCalendar.formatDate(event.start, "DD-MM-Y HH:mm");
var end = $.fullCalendar.formatDate(event.end, "DD-MM-Y HH:mm");
elementos.popover({
title: start + ' — ' + end,
content: event.title,
trigger: 'hover',
placement: 'top',
container: 'body'
}
});
本文标签: javascriptHow to disable popover when I dragging eventStack Overflow
版权声明:本文标题:javascript - How to disable popover when I dragging event? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741521972a2383241.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论