2010-08-17 58 views

回答

8

我不知道contextmenu插件,但我认为你可以将它绑定到fullcalendar的eventRender事件上。我遇到与dblClick有关的问题。

这是我的解决方案的一部分:

eventRender: function(event, element) { 
    element.bind('dblclick', function() { 
    dopbClickFunction(event,element); 
    ....... 
+0

哦,是的,EventRender ..就是这样=)谢谢你! – Franky 2010-08-17 12:41:32

1

我解决完全相同的问题。对我来说,它的工作做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格...

2 - 修改Z-索引的文本菜单,让我们从说500到2500和从499到2499.这是非常重要的,如果你的日历在对话窗口(像我一样),否则它会在可见层下面

1

我使用Fullcalendar加载回调: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'}, 
      } 
     }); 
    } 
}, 

问题是您需要从该元素获取事件ID - 我所做的是在事件json数据中使用className。只是一个字符串替换,你会有你的ID。

'className'=>'jc_event_'。 $ event-> id,