完整日历eventDrop触发事件在Firefox 15中点击

时间:2012-10-26 22:59:50

标签: javascript firefox fullcalendar

我不知道要在Firefox 15中使用以下代码究竟要做些什么改变:

    eventDrop: function (event, dayDelta) {
        updateCalendarEvent(event.id, dayDelta);
        //Firefox 15 fires eventClick for no good reason???
    },
    eventClick: function (event) {
        alert('event click');
        if (event.url) {
            alert(event.url);
            vUrl = '../Activities/' + event.url;
            openActivityAddEditDialog(vUrl, 'Edit Activity');
            return false;
        }
    },

我做了一些研究,这绝对是一个BUG。代码在Chrome,Safari,Firefox 14&甚至是IE - 但不是Firefox 15.已经差不多2个月了,看不到任何修复。

有人在这里发布了一个解决这个问题的方法: http://code.google.com/p/fullcalendar/issues/detail?id=1523

另一个类似未答复的完整日历Firefox SO问题: Full Calendar event hyperlinks automatically fire in Firefox

3 个答案:

答案 0 :(得分:2)

你也会有一些这样的事件数据:

events: [

{id: '76',title: 'Hot Shave',data: 'Some data',start: new Date(2012,9, 17, 13 , 55),end: new     Date(2012,9,17, 13 , 115),allDay: false, url: '<someurl>'}
],

将名为“url:”的事件更改为“workingurl:”,并将您的eventclick代码更新为:

eventClick: function (event) {
        alert('event click');
        if (event.workingurl) {
            alert(event.workingurl);
            vUrl = '../Activities/' + event.workingurl;
            openActivityAddEditDialog(vUrl, 'Edit Activity');
            return false;
         }
    },

这应该会阻止FF根据url:属性触发点击,该属性不再存在。

答案 1 :(得分:2)

当您在活动中加入“url”属性时,JSON FullCalendar会将该事件呈现为<a>链接而非<div>

看起来Firefox正在考虑拖放<a>作为点击并跟踪网址。这会导致AJAX请求被中断并返回status=0,如下所示: https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest/Using_XMLHttpRequest?redirectlocale=en-US&redirectslug=Using_XMLHttpRequest#XMLHttpRequests_being_stopped

在我的情况下(Firefox 18),这导致“您正在离线!请检查您的网络”警告消息。

将'url'属性重命名为'targetUrl'会导致事件呈现为<div>来解决问题。然后,您需要修改eventClick处理程序以相应地使用新属性。

答案 2 :(得分:1)

即使在fullcalendar.js中为所有函数设置了断点之后 - 错误仍然发生,并且在eventDrop完成后没有完整的日历函数被触发 - 但仍然会发生重定向。

仅限FIREFOX 15!

也改为早期版本的jquery - 但没有区别。

我最近看过一些关于Firefox 15和drop事件错误的帖子,但没有任何内容适用于此。

有人在那里遇到这个问题吗?

如果没有 - 有没有办法只禁用拖动&amp;对于Firefox用户来说是什么?