Описание всплывающей подсказки для повторяющихся событий с одинаковым идентификатором - PullRequest
0 голосов
/ 13 марта 2012

Я хотел бы отобразить всплывающую подсказку с описанием события в событии eventmouseover для повторяющегося события с тем же идентификатором события, но я хочу загрузить только фактическое описание в фид json при самом первом появлениисобытие.

Причина, по которой вы хотите это сделать, заключается в том, что некоторые описания событий могут быть довольно продолжительными, и я не хочу загружать один и тот же абзац 100 раз или более и отправлять его по сети.если я могу просто получить доступ к описанию первого вхождения и отобразить его во всплывающей подсказке для любого из повторяющихся событий, когда наведу на него указатель мыши.

Мой код инициализации календаря:

$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
editable: false,
allDayDefault: false,
events: "https://json_feed_url",
eventMouseover: function(e,m){
    var tPosX = m.pageX - 5 ;
    var tPosY = m.pageY + 20 ;
    $('#tooltip').css({top: tPosY, left: tPosX, display: 'block'});
    var tt = '';
    tt += e.id+'<br />';
    $('#tooltip').html(tt);
},
eventMouseout: function(){
    $('#tooltip').css({display: 'none'});
},
loading: function(bool){
    if (bool) $('#loading').show();
    else $('#loading').hide();
}
});

и мойПодача данных json будет выглядеть следующим образом:

 [
 {
    "id": 0,
    "title": "Study Hall",
    "start": "2012-01-09T15:00",
    "end": "2012-01-09T16:15",
    "color": "green",
    "description": "Discuss formal language theory and abstract machines"
},
{
    "id": 0,
    "title": "Study Hall",
    "start": "2012-01-11T15:00",
    "end": "2012-01-11T16:15",
    "color": "green",
    "description": ""
},
{
    "id": 0,
    "title": "Study Hall",
    "start": "2012-01-16T15:00",
    "end": "2012-01-16T16:15",
    "color": "green",
    "description": ""
},
{
    "id": 0,
    "title": "Study Hall",
    "start": "2012-01-18T15:00",
    "end": "2012-01-18T16:15",
    "color": "green",
    "description": ""
},
{
    "id": 0,
    "title": "Study Hall",
    "start": "2012-01-23T15:00",
    "end": "2012-01-23T16:15",
    "color": "green",
    "description": ""
},
{
    "id": 0,
    "title": "StudyHall",
    "start": "2012-04-25T15: 00",
    "end": "2012-04-25T16: 15",
    "color": "green",
    "description": ""
}
]

Это прекрасно работает при самом первом возникновении события, но описания оставшихся вхождений пустые во всплывающей подсказке.У кого-нибудь есть решение для ссылки на первое вхождение?

Спасибо

1 Ответ

0 голосов
/ 14 августа 2012

Я решил проблему в eventMouseOver с помощью диалогового окна.Я устанавливаю диалоговое окно с соответствующими элементами с набором идентификаторов, а затем устанавливаю соответствующие значения по мере необходимости.Вы можете установить эти значения заранее или при загрузке страницы.(не то, чтобы в моем коде было 2 разных типа встреч, извлеченных из 2 разных источников, так что eventType - это «appt», который в этом случае проверяется.

eventMouseover: function(calEvent, jsEvent, view){
    if(calEvent.eventType == "appt")
        {
        $('#eventDetails').dialog({title: calEvent.title});
        $('#eventDetails').dialog('open');
        var myDialogX = jsEvent.pageX + 10;
        var myDialogY =  jsEvent.pageY + 10;
        $('#eventDetails').dialog( 'option', 'position', [myDialogX, myDialogY] );
        $('#appointmentTypeName').append(calEvent.appointmentTypeName);
        $('#appointmentReason').append(calEvent.appointmentReason);
        $('#appointmentTime').append(calEvent.start);
        $('#appointmentTitle').append(calEvent.appointmentTitle);
        $('#appointmentFacility').append(calEvent.facilityName);
         }
         },
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...