这是我的handler
:
$("div.fc-content").on('click', function (e) {
var id = $(this).data('id');
$.ajax({
url: '/VacationRequest/Edit/' + id,
cache: false
}).done(function (data) {
$("#edit-id").val(data.Id);
$("#startDate-edit").val(data.startDate);
$("#endDate-edit").val(data.endDate);
$("#comment-edit").val(data.comment);
$("#vacationTypes-edit").val(data.vacationType);
$('#edit-vacation-modal-window').modal('show');
});
});
这是Jquery
完整日历初始化的一部分:
function InitCalendar() {
$('#calendar').fullCalendar({
events: {
url: '/vacation/SchedulesGet',
type: 'POST',
data: {
title: 'title',
id : 'id',
start: new Date('start'),
end: new Date('end'),
},
error: function () {
alert('there was an error while fetching events!');
},
color: 'yellow',
textColor: 'black'
},
eventRender: function (event, element) {
$($(element[0]).find('div.fc-content')[0]).attr('data-id', event.id);
},
此$("div.fc-content")
块存在(我在js控制台中找到它)。但是,当我试图点击它时,什么也没发生。你能解释一下我做错了吗?
答案 0 :(得分:1)
尝试使用委托事件处理程序,如下所示:
$('#calendar').on('click', 'div.fc-content', function (e) {
...
});
有关事件委派的更多信息:https://learn.jquery.com/events/event-delegation/
或者将您的onclick
绑定在eventRender
函数中:
$('#calendar').fullCalendar({
...
eventRender: function (event, element) {
element.click(function() {
...
});
}
});