jquery - 加载时的全日历功能
问题描述
使用议程视图,我的屏幕上会显示 7 天,并且我有按钮可以浏览该月(即转到下一天)。我有一个功能,可以让我点击我点击的时间段的开始和结束。它在 7 天内运行良好,但仅在加载的页面上运行,但如果我单击转到第二天并单击时间段,它就不再起作用了。我检查了 html 结构,它仍然相同,但我的功能不起作用。
这是我的代码:
$("div.fc-slats table tbody tr").click(function () {
var borne_sup = $(this).attr("data-time");
var borne_inf = $(this).next().attr("data-time");
console.log(borne_sup);
console.log(borne_inf);
});
你能帮我吗 ?
解决方案
如果您仅在首次呈现日历时添加单击事件,则它将在该点附加到每一行。当您单击下一个新元素时,将添加到 DOM 中,因此如果您不再次运行代码,这些元素将不会附加单击事件。
修复该问题应该可以解决问题,但是另一种方法是使用 FullCalendar 回调eventClick,这使您可以访问您单击的事件,而不必手动附加单击处理程序。
eventClick(event, jsEvent, view) {
console.log(event.start, event.end);
}