Acara kalender penuhDestroy tidak pernah dipanggil

Saya menggunakan Fullcalendar terbaru, jquery 1.10, dan qtip 2.

Saya cukup menambahkan qtip ke elemen dalam panggilan balik eventRender yang berisi tombol:

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'
    }
});

Pada panggilan balik pilih saya memiliki yang berikut:

$('#calendar').fullCalendar('renderEvent',
    {
        title: 'Available',
        start: start,
        end: end,
        allDay: allDay
    },
    true //make the event stick
);

Dan inilah penghapusan Kode Acara:

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

Di bawah panggilan balik eventDestroy saya memiliki:

element.qtip('destroy');

Masalah saya adalah eventDestroy sepertinya tidak pernah dipanggil ketika saya memanggil panggilan balik.

Saya menyiapkan contoh jsfiddle di sini: http://jsfiddle.net/MusicMonkey5555/Zs657/1/

Ini sedikit berbeda tetapi cukup klik item kalender maka akan muncul pertanyaan apakah Anda ingin menghapusnya dan kemudian akan muncul peringatan, tetapi tidak pernah.

Adakah yang tahu mengapa itu tidak berhasil?


person MusicMonkey5555    schedule 08.10.2013    source sumber


Jawaban (2)


Menurut dokumentasi kalender lengkap, eventDestroy hanya tersedia mulai versi 1.6.3 dan Anda menggunakan 1.5.

Lihat : http://arshaw.com/fullcalendar/docs/event_rendering/eventDestroy/

Edit : Saya sebenarnya baru saja mengujinya dengan memodifikasi biola Anda, dan sepertinya panggilan baliknya masih tidak berfungsi. Namun ini dipicu ketika Anda mengubah ukuran jendela (saya berasumsi lib merender ulang peristiwa dan karenanya menghancurkan DOM).

Melihat sedikit kodenya, sepertinya panggilan balik eventDestroy hanya dipanggil ketika tampilan kalender penuh dihancurkan. Tidak pernah saat Anda menghapus acara individual. Jadi itu akan menjadi batasan lib ini saat ini.

Dalam kasus Anda, akan lebih mudah untuk langsung memanggil panggilan balik penghancuran dari metode removeEvent Anda, karena Anda tidak dapat mengandalkan lib untuk itu.

person Julian Descottes    schedule 09.10.2013
comment
Saya menggunakan v1.6.4 Oke, itu masuk akal. Terima kasih telah memeriksanya lebih lanjut. Saya pikir saya bisa, saya hanya mengalami beberapa masalah dalam mendapatkan elemen tersebut sehingga saya dapat menghapus qtip yang terkait dengannya. Sepertinya saya tidak bisa mendapatkan item ui itu secara spesifik. - person MusicMonkey5555; 14.10.2013

Bagi mereka yang mungkin mengalami masalah ini di masa mendatang: "Panggilan balik penghancuran acara saat penghapusan acara" telah diperbaiki di rilis 2.1.0.

http://github.com/arshaw/fullcalendar/releases/tag/v2.1.0

person arussellk    schedule 10.10.2014