[英]FullCalendar dayClick js event not detaching
我的網頁上有一個日歷。 日歷中有事件。 在dayClick
事件處理程序中,我正在調用一個函數。
問題是單擊日期框時第一次出現該函數被稱為1次。 第2次調用該函數2次,第3次調用3次,依此類推。
我可以猜到問題是點擊事件沒有脫離。 但我無法解決。
編碼:
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
eventLimit: true,
defaultView: 'month',
editable: false,
eventClick: function (event) {
if (event.url) {
window.open(baseUrl + event.url);
return false;
}
},
dayClick: function (date, allDay, jsEvent, view) {
var dateString = '';
dateString = moment(date, 'YYYY-MM-DD').format().split('T')[0];
$('#popup').modal('toggle');
$('#popup').on('shown.bs.modal', function () {
AsyncFn().done(function (result) {
AnotherAsyncFn(function () {
SomeFunction(); //This function gets called multiple times
});
});
});
}
});
我不確定如何分離此事件。 可以通過使用off
或unbind
,但不知道具體如何。 有人可以為此提供幫助嗎?
您應該使用off
方法。
$('#popup').on('shown.bs.modal', function () {
$('#popup').off('shown.bs.modal');
AsyncFn().done(function (result) {
AnotherAsyncFn(function () {
SomeFunction(); //This function gets called multiple times
});
});
});
在再次附加事件之前,嘗試使用jQuery.unbind()
。
dayClick: function (date, allDay, jsEvent, view) {
var dateString = '';
dateString = moment(date, 'YYYY-MM-DD').format().split('T')[0];
$('#popup').modal('toggle');
$('#popup').unbind("shown.bs.modal").on('shown.bs.modal', function () {
AsyncFn().done(function (result) {
AnotherAsyncFn(function () {
SomeFunction(); //This function gets called multiple times
});
});
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.