[英]Full Calendar eventDrop firing eventClick in Firefox 15
我不知道要在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问题: 完整日历事件超链接在Firefox中自动触发
你还会有一些这样的事件数据:
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:属性触发点击,该属性不再存在。
当您在事件中包含'url'属性时,JSON FullCalendar会将事件呈现为<a>
链接而不是<div>
。
看起来Firefox正在将<a>
的拖放视为点击并跟随URL。 这导致AJAX请求被中断并返回status=0
如下所示: https : //developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest/Using_XMLHttpRequest?redlocale status=0
en-US&redctsctslug status=0
Using_XMLHttpRequest#XMLHttpRequests_being_stopped
在我的情况下(Firefox 18),这导致“您正在离线!请检查您的网络”警告消息。
将'url'属性重命名为'targetUrl'会导致事件呈现为解决问题的<div>
。 然后,您需要修改eventClick处理程序以相应地使用新属性。
即使在fullcalendar.js中为所有函数设置了断点之后 - 错误仍然发生,并且在eventDrop完成后没有完整的日历函数被触发 - 但是仍然会发生重定向。
仅限FIREFOX 15!
也改为早期版本的jquery - 但没有区别。
我已经看到一些关于Firefox 15的最新帖子和丢弃事件错误,但没有什么特别适用于此。
有没有人有这个问题?
如果没有 - 有没有办法只为Firefox用户禁用拖放功能?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.