微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery – Fullcalendar日双击回调

我需要在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!');
    });
},

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐