Javascript 通过将事件拖到完整日历V 2之外(带或不带垃圾箱图标…)来删除事件
有人能给我一些建议吗?关于如何从FullCalendar版本2中删除事件,请将其从日历中拖出 我在这里看到了一些解决方案:Javascript 通过将事件拖到完整日历V 2之外(带或不带垃圾箱图标…)来删除事件,javascript,jquery,events,fullcalendar,Javascript,Jquery,Events,Fullcalendar,有人能给我一些建议吗?关于如何从FullCalendar版本2中删除事件,请将其从日历中拖出 我在这里看到了一些解决方案: 但它似乎解决了版本1。我的第一个方法是: eventDragStop: function(event,jsEvent) { alert('Coordinates: ' + jsEvent.pageX + ',' + jsEvent.pageY); if( (300 <= jsEvent.pageX) & (jsEvent.pageX <=
但它似乎解决了版本1。我的第一个方法是:
eventDragStop: function(event,jsEvent) {
alert('Coordinates: ' + jsEvent.pageX + ',' + jsEvent.pageY);
if( (300 <= jsEvent.pageX) & (jsEvent.pageX <= 500) & (130 <= jsEvent.pageY) & (jsEvent.pageY <= 170)){
alert('delete: '+ event.id);
$('#MyCalendar').fullCalendar('removeEvents', event.id);
}
}
eventDragStop: function(event,jsEvent) {
var trashEl = jQuery('#calendarTrash');
var ofs = trashEl.offset();
var x1 = ofs.left;
var x2 = ofs.left + trashEl.outerWidth(true);
var y1 = ofs.top;
var y2 = ofs.top + trashEl.outerHeight(true);
if (jsEvent.pageX >= x1 && jsEvent.pageX<= x2 &&
jsEvent.pageY >= y1 && jsEvent.pageY <= y2) {
alert('SIII');
$('#calendario').fullCalendar('removeEvents', event.id);
}
}
eventDragStop:函数(event,jsEvent){
var trashEl=jQuery(“#calendarTrash”);
var ofs=trashEl.offset();
var x1=ofs.左;
var x2=ofs.left+trashEl.outerWidth(真);
变量y1=ofs.top;
变量y2=ofs.top+trashEl.outerHeight(真);
if(jsEvent.pageX>=x1&&jsEvent.pageX=y1&&jsEvent.pageYeventDragStop:function(event,jsEvent){
var trashEl=jQuery(“#calendarTrash”);
var ofs=trashEl.offset();
var x1=ofs.左;
var x2=ofs.left+trashEl.outerWidth(真);
变量y1=ofs.top;
变量y2=ofs.top+trashEl.outerHeight(真);
如果(jsEvent.pageX>=x1&&jsEvent.pageX=y1&&jsEvent.pageY不带jQuery:
eventDragStop: function(e) {
let trashEl = document.getElementById('fcTrash') as HTMLElement;
let x1 = trashEl.offsetLeft;
let x2 = trashEl.offsetLeft + trashEl.offsetWidth;
let y1 = trashEl.offsetTop;
let y2 = trashEl.offsetTop + trashEl.offsetHeight;
if (e.jsEvent.pageX >= x1 && e.jsEvent.pageX <= x2 &&
e.jsEvent.pageY >= y1 && e.jsEvent.pageY <= y2) {
e.event.remove();
}
}
eventDragStop:函数(e){
将trashEl=document.getElementById('fcTrash')作为HTMLElement;
设x1=trashEl.offsetLeft;
设x2=trashEl.offsetLeft+trashEl.offsetWidth;
设y1=trashEl.offsetTop;
设y2=trashEl.offsetTop+trashEl.offsetHeight;
如果(e.jsEvent.pageX>=x1&&e.jsEvent.pageX=y1&&e.jsEvent.pageY工作得很好。谢谢。我只需要将event.id更改为event。_idI使用一个外部垃圾桶div来完成此操作,事件可以拖动到该垃圾桶以将其删除。为什么jQueryUi jsut不使用此功能使垃圾桶div.droppagey可拖放。拖动时甚至无法识别完整的日历事件为什么?这对我来说很有效,只是在它被删除之前,它会显示事件回到其原始日期的动画。我如何防止这种情况?@skeletank检查dragRevertDuration属性-用于防止动画。@RredCat是否仅当事件被放在垃圾箱上时才为其设置dragRevertDuration?如果是,如何防止还应该指出,这是最新版本(5.0)的fullcalendar实现这一点的方法(函数中只有'info',不再有两个变量-)
eventDragStop: function(event,jsEvent) {
var trashEl = jQuery('#calendarTrash');
var ofs = trashEl.offset();
var x1 = ofs.left;
var x2 = ofs.left + trashEl.outerWidth(true);
var y1 = ofs.top;
var y2 = ofs.top + trashEl.outerHeight(true);
if (jsEvent.pageX >= x1 && jsEvent.pageX<= x2 &&
jsEvent.pageY >= y1 && jsEvent.pageY <= y2) {
if (confirm("Are you sure to detete " + event.title +" ?")) {
//pour annuker les informations
$('#external-calendar').fullCalendar('removeEvents', event._id);
}
}
}
<div id="calendarTrash" class="calendar-trash"><img src="images\trash.png" alt="image"/></div>
eventDragStop: function(e) {
let trashEl = document.getElementById('fcTrash') as HTMLElement;
let x1 = trashEl.offsetLeft;
let x2 = trashEl.offsetLeft + trashEl.offsetWidth;
let y1 = trashEl.offsetTop;
let y2 = trashEl.offsetTop + trashEl.offsetHeight;
if (e.jsEvent.pageX >= x1 && e.jsEvent.pageX <= x2 &&
e.jsEvent.pageY >= y1 && e.jsEvent.pageY <= y2) {
e.event.remove();
}
}