Javascript 使用qtip2从fullCalendar中删除元素

Javascript 使用qtip2从fullCalendar中删除元素,javascript,fullcalendar,qtip2,Javascript,Fullcalendar,Qtip2,我目前正在尝试将qtip2添加到我的fullCalendar窗口,以便显示qtip,并使用链接/按钮删除日历上的选定事件,不幸的是,我遇到了问题。以下是我的完整日历的外观: $('#calendar_main').fullCalendar({ header: { left: 'prev,next today', center: 'title', right: 'month,ag

我目前正在尝试将qtip2添加到我的fullCalendar窗口,以便显示qtip,并使用链接/按钮删除日历上的选定事件,不幸的是,我遇到了问题。以下是我的完整日历的外观:

$('#calendar_main').fullCalendar({
            header: {
                left: 'prev,next today',
                center: 'title',
                right: 'month,agendaWeek,agendaDay'
            },
            defaultView:'agendaWeek',
            minTime:8,
            height:600,
            maxTime:20,
            editable: true,
            allDaySlot:false,
            theme: true,
            firstDay: 1,
            selectable: true,
               selectHelper: true,

            eventRender: function(event, element) {
               element.qtip({ 
                content: "<a onlick='alert('Remove')> Remove me</a>",
                title: {
                  text: 'RDV',
                       button: false
                }
                },
                position: {
                    at: 'right-bottom'
                },
                show: {
                    solo: true
                },
                hide: false,
                style: 'ui-tooltip-light ui-tooltip-rounded'
               });
            } 
        });
$('calendar#u main')。完整日历({
标题:{
左:“上一个,下一个今天”,
中心:'标题',
右图:“月,agendaWeek,agendaDay”
},
defaultView:'agendaWeek',
时间:8,,
身高:600,
最长时间:20,
是的,
全天时段:错,
主题:真的,
第一天:1,
是的,
selectHelper:对,
eventRender:函数(事件,元素){
元素qtip({

内容:“首先,您需要转义单个引号以形成警报中的字符串

第二,你忘了用标签中的一个引号关闭警报。希望它能帮助你

'<a onlick="alert(\'Remove\');"> Remove me</a>'
“删除我”

这就是它的外观。

可能是因为您正在为qTip使用调用过程,但在实际中您正在使用qTip2。在实际中使用(源脚本)旧版本qTip 1.00xxx和所有的一切都会好的-我做到了。

我实际上也在做同样的事情,我可以很好地删除它。我遇到的唯一问题是当事件被销毁时qTip会粘住,因此遇到了一个永远不会调用eventDestroy的问题

无论如何,我将calendarEventRender称为:

        $('#calendar').fullCalendar({
            firstDay: 1,
            header: {
                left: '',
                center: '',
                right: ''
            },
            defaultView: 'agendaWeek',
            allDaySlot: false,
            columnFormat: {
              week: 'ddd'
            },
            selectable: true,
            selectHelper: true,
            editable: true,
            droppable: true,
            eventRender: function(event, element) {
                calendarEventRender(event, element);
            }
        });
以下是我的职能:

function calendarEventRender(event, element)
{
    element.qtip({
        content: {
            title: { text: event.title },
            text: '<button type="button" onclick="removeEvent(' + event.id + ')">Delete</button>'
        },
        show: {
            event: 'click',
            solo: true
        },
        hide: {
            event: 'unfocus click'
        }
    });
}

function removeEvent(eventId, userId)
{    
    //Delete the event
    $('#calendar').fullCalendar('removeEvents', eventId);
}

因此,我建议尝试使用这些版本,看看它是否有效。大多数情况下,这是因为jquery有一个bug,您需要一个不同的版本。

谢谢Juan,不幸的是,它仍然没有显示警报框。我想我已经找到了一个解决方法,可以显示一个div,并将我的JS函数调用直接放在div代码中。现在这是一个不错的解决方案。再次感谢。
//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js
//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js
//ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/themes/base/jquery-ui.css
//cdnjs.cloudflare.com/ajax/libs/fullcalendar/1.6.4/fullcalendar.min.js
//cdnjs.cloudflare.com/ajax/libs/fullcalendar/1.6.4/fullcalendar.css
//cdnjs.cloudflare.com/ajax/libs/fullcalendar/1.6.4/fullcalendar.print.css
//cdnjs.cloudflare.com/ajax/libs/qtip2/2.1.1/jquery.qtip.min.js
//cdnjs.cloudflare.com/ajax/libs/qtip2/2.1.1/jquery.qtip.min.css