如何获取在 Fullcalendar v4 中双击背景事件的日期?
How to get date where was background event double clicked in Fullcalendar v4?
我的全日历中有背景事件,我使用时间线视图。我添加了双击触发器来处理此操作,但我需要获取日期,双击完成的位置。
例如,如果用户点击突出显示的方块,它应该触发“11 月 6 日被双击”。 (绿线是背景事件)。
eventRender: function(info) {
$(info.el).on('dblclick', function() {
// I need to somehow get clicked date here
alert('XYZ was double clicked!');
});
});
这里有没有获得点击日期的方法?
我制定了解决方案。它有点脏,但它有效。
- 我是用鼠标点击坐标计算的
- 获取天列的宽度
- 计算点击列的顺序
- 按照点击列的顺序,我在 header
中得到相同的列
- 我从 header
中的列的 data-date
属性中获取日期
.
$(info.el).on('dblclick', function(event) {
// get the element of the whole row
var element = $(this).parent().offset();
// get the x position of cursor
var x = event.pageX - element.left;
// get the width of column, dynamically calculated because width of viewport can be changed
var width = $('.fc-head .fc-time-area th.fc-widget-header').outerWidth() - 1;
// order number of clicked column
var number = Math.ceil(x / width);
// now we have a date of clicked date (despite we clicked background event)
alert($('.fc-head .fc-time-area th.fc-widget-header:nth-of-type(' + number + ')').data('date'));
});
也许它对某人有帮助。请注意,此解决方案计算背景事件 - 这些事件被点击。
我的全日历中有背景事件,我使用时间线视图。我添加了双击触发器来处理此操作,但我需要获取日期,双击完成的位置。
例如,如果用户点击突出显示的方块,它应该触发“11 月 6 日被双击”。 (绿线是背景事件)。
eventRender: function(info) {
$(info.el).on('dblclick', function() {
// I need to somehow get clicked date here
alert('XYZ was double clicked!');
});
});
这里有没有获得点击日期的方法?
我制定了解决方案。它有点脏,但它有效。
- 我是用鼠标点击坐标计算的
- 获取天列的宽度
- 计算点击列的顺序
- 按照点击列的顺序,我在 header 中得到相同的列
- 我从 header 中的列的
data-date
属性中获取日期
.
$(info.el).on('dblclick', function(event) {
// get the element of the whole row
var element = $(this).parent().offset();
// get the x position of cursor
var x = event.pageX - element.left;
// get the width of column, dynamically calculated because width of viewport can be changed
var width = $('.fc-head .fc-time-area th.fc-widget-header').outerWidth() - 1;
// order number of clicked column
var number = Math.ceil(x / width);
// now we have a date of clicked date (despite we clicked background event)
alert($('.fc-head .fc-time-area th.fc-widget-header:nth-of-type(' + number + ')').data('date'));
});
也许它对某人有帮助。请注意,此解决方案计算背景事件 - 这些事件被点击。