我需要在dblclick上工作的实现函数,就像dayClick回调一样.我尝试了所有的解决方案,我找到了,但没有什么对我有用,例如
Michel’s answer.顺便说一句,所有线程都很老.
问题似乎微不足道,但我没有想法为什么它不起作用.
有谁知道在最新版本中应该怎么做?
UPDATE
好的,我发现了问题:)
当我设置此选项时它停止工作:selectable:true
我添加了这个:
dayRender: (date,element,view) -> element.bind "dblclick",-> alert "double click!" dayClick: (date,jsEvent,view) -> $(".fc-highlight").removeClass("fc-highlight") $(jsEvent.toElement).addClass("fc-highlight")
并且完美地工作:)
谢谢你的帮助.
更新2
但是,上述解决方案并不完美.有些元素涵盖了日期对象,并且它不适用于整个表面,所以我提出了另一个解决方案:
findClickedDay = (e) -> days = $("#calendar .fc-day") i = 0 while i < days.length day = $(days[i]) mouseX = e.pageX mouseY = e.pageY offset = day.offset() width = day.width() height = day.height() if mouseX > offset.left and mouseX < offset.left + width and mouseY > offset.top and mouseY < offset.top + height return day i++ eventAfterallRender: (view) => $("#calendar").bind "dblclick",(e) => clickedDay = findClickedDay(e); if clickedDay.length == 0 then return date = new Date(clickedDay.data('date')) alert "dblclick on date: #{date}"
解决方法
它适用于eventRender
Click for jsfiddle link.
eventRender在呈现事件时触发. &安培;&安培; dayRender是用于修改日期单元格的钩子. Click for dayRender docs
eventRender: function(event,element) { element.bind('dblclick',function() { alert('double click!'); }); },