在完整日历中,单击带有关联URL的事件时,如何从事件窗口中的默认打开状态更改为在新窗口或选项卡中打开URL?
我在Arshaws文档上找到了事件函数,但是在任何脚本中都找不到relevent函数。我是否需要添加点击事件功能,如果需要,在哪里添加?
抱歉,我对此仍然有问题,这是用于控制日历的脚本,我不确定如何通过json格式添加事件参数以获取单击功能以在新窗口中打开事件。我已经指出事件功能我有问题
<script type='text/javascript'>
$(document).ready(function() {
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
var calendar = $('#calendar').fullCalendar({
editable: true,
weekMode: 'liquid',
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
events: "fullcalendar/fullcalendar/events.php",
// Convert the allDay from string to boolean
eventRender: function(event, element, view) {
if (event.allDay === 'true') {
event.allDay = true;
} else {
event.allDay = false;
}
},
selectable: true,
selectHelper: true,
select: function(start, end, allDay) {
var title = prompt('Event Title:');
var url = prompt('Type Event url, if exits:');
if (title) {
var start = $.fullCalendar.formatDate(start, "yyyy-MM-dd HH:mm:ss");
var end = $.fullCalendar.formatDate(end, "yyyy-MM-dd HH:mm:ss");
$.ajax({
url: 'fullcalendar/fullcalendar/add_events.php',
data: 'title='+ title+'&start='+ start +'&end='+ end +'&url='+ url ,
type: "POST",
success: function(json) {
alert('Added Successfully');
}
})
calendar.fullCalendar('renderEvent',
{
title: title,
start: start,
end: end,
allDay: allDay
},
true // make the event "stick"
);
}
calendar.fullCalendar('unselect');
},
editable: true,
eventDrop: function(event, delta) {
var start = $.fullCalendar.formatDate(event.start, "yyyy-MM-dd HH:mm:ss");
var end = $.fullCalendar.formatDate(event.end, "yyyy-MM-dd HH:mm:ss");
$.ajax({
url: 'fullcalendar/fullcalendar/update_events.php',
data: 'title='+ event.title+'&start='+ start +'&end='+ end +'&id='+ event.id ,
type: "POST",
success: function(json) {
alert("Updated Successfully");
}
});
},
eventResize: function(event) {
var start = $.fullCalendar.formatDate(event.start, "yyyy-MM-dd HH:mm:ss");
var end = $.fullCalendar.formatDate(event.end, "yyyy-MM-dd HH:mm:ss");
$.ajax({
url: 'fullcalendar/fullcalendar/update_events.php',
data: 'title='+ event.title+'&start='+ start +'&end='+ end +'&id='+ event.id ,
type: "POST",
success: function(json) {
alert("Updated Successfully");
}
});
},
eventClick: function(event) {
var decision = confirm("Do you really want to delete this Event?");
if (decision==true) {
$.ajax({
url: 'fullcalendar/fullcalendar/delete_events.php',
data:'&id=' + event.id,
type: "POST",
success: function(json) {
alert("Removed Succesfully");
}
});
$('#calendar').fullCalendar('removeEvents', event.id);
****************************************************************************
$('#calendar').fullCalendar({
events: [
{
title: 'My Event',
start: '2010-01-01',
url: 'http://stackoverflow.com/'
}
// other events here
],
eventClick: function(event) {
if (event.url) {
window.open(event.url, "_blank");
return false;
}
*****************************************************************************
}
});
} else {
}
}
});
});
</script>
最佳答案
您可以在fullcalendar中使用eventClick回调
$('#calendar').fullCalendar({
events: [
{
title: 'My Event',
start: '2010-01-01',
url: 'http://stackoverflow.com/'
}
// other events here
],
eventClick: function(event) {
if (event.url) {
window.open(event.url, "_blank");
return false;
}
}
});
关于jquery - 单击具有相关URL的事件时,以fullcalendar表示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22128825/