fullCalendar eventClick on mobile

时间:2013-03-04 09:26:51

标签: jquery jquery-mobile fullcalendar

当我尝试在移动设备上使用事件点击时,它总是触发dayClick事件而不是事件点击。我试过了:

$('.fc-event').live("click", function () {
    alert("you just clicked");
});

eventClick: function (date, jsEvent, view) {
            alert('you just clicked');
 }

它在我的电脑上工作正常,但移动似乎总是触发dayClick而不是EventClick ..即使我把selectable:false它仍然会触发dayClick事件。我应该从fullcalendar.min.js删除哪些行来删除所有dayClick事件..至少我认为这是我最优秀的(也许是唯一的)解决方案,因为我根本不需要dayClick

提前致谢

2 个答案:

答案 0 :(得分:2)

$('.fc-event').live("click", function () {
    alert("you just clicked");
});

根据文档不支持上面的代码。确保将其从代码库中删除。

对于日期点击和事件点击,您必须按照文档

中的说明使用
eventClick:function(calEvent, jsEvent, view) {
  alert("clicked on event");
},
dayClick: function(date, allDay, jsEvent, view) {
  alert("clicked on day");
}

还要确保在fullcalendar函数中包装,如下所示

$('#calendar').fullCalendar({
    eventClick: function(calEvent, jsEvent, view) {

        alert('Event: ' + calEvent.title);
        alert('Coordinates: ' + jsEvent.pageX + ',' + jsEvent.pageY);
        alert('View: ' + view.name);

        // change the border color just for fun
        $(this).css('border-color', 'red');

    },
    dayClick: function(date, allDay, jsEvent, view) {
        alert("clicked on day");
    }
});

阅读documentation。我也将它用于我的jQuery Mobile项目,它工作正常。

答案 1 :(得分:0)

使用eventAfterRender附加click事件。它在iOS上适用于我们

 eventAfterRender: function(calEvent, element, view)
            {
                $(element).click(function(){
                  alert('clicked!!');
            });