Полный календарь jQuery: contextmenu - PullRequest
4 голосов
/ 17 августа 2010

Я хочу использовать jQuery.contextMenu:

http://abeautifulsite.net/blog/2008/09/jquery-context-menu-plugin

В jQuery.fullcalendar, когда я щелкаю правой кнопкой мыши событие, как оно работает?

Ответы [ 3 ]

8 голосов
/ 17 августа 2010

Я не знаю плагин contextmenu, но думаю, что вы можете связать его с событием eventRender fullcalendar.У меня проблема с dblClick на событии.

Это часть моего решения:

eventRender: function(event, element) {
    element.bind('dblclick', function() {
    dopbClickFunction(event,element);
    .......
1 голос
/ 17 августа 2012

Я использовал обратный вызов полной загрузки календаря: http://arshaw.com/fullcalendar/docs/event_data/loading/

loading: function (bool, view) { 

    if (bool){
        jQuery('#com_jc_msg_saving').fadeIn();
    } else {

        jQuery('#com_jc_msg_saving').fadeOut();

        jQuery.contextMenu({

            selector: '.fc-event',//note the selector this will apply context to all events 
            trigger: 'right',
            callback: function(key, options) {
                //this is the element that was rightclicked
                console.log(options.$trigger.context);

                switch(key)
                {
                case 'edit_event':

                  break;
                case 'del_event':

                  break;
                case 'add_event':

                  break;

                }

            },
            items: {
                'edit_event': {name: 'Edit'},
                'del_event': {name: 'Delete'},
                'add_event': {name: 'Create'},
            }
        });
    }
},

Дело в том, что вам нужно будет получить идентификатор события из этого элемента - я использовал было использование className в данных json событий,Просто немного заменить строку, и вы будете иметь свой идентификатор.

'className' => 'jc_event_'.$ Event-> идентификатор,

1 голос
/ 27 сентября 2010

Я решаю точно такую ​​же проблему.Для меня это сработало, выполнив 2 следующих шага:

1 - код

eventRender: function(calEvent,element){
        element.bt({ ajaxPath: 'ajEvents.asp?opt=getExtendedEvent&valore=' +  calEvent.id,  trigger: 'hover', width: 200 });
        //only for tooltip
        element.contextMenu('myMenu',{bindings:{'idVoce': function(t){ alert('right click on ' + calEvent.id) } } })
    } 

Я предполагаю, что вы уже определили myMenu div ...

2 - изменить zindexв контексте меню, скажем, от 500 до 2500 и от 499 до 2499. Это важно, если у вас есть календарь в диалоговом окне (как и я), в противном случае он будет находиться под видимым слоем

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...