Estoy usando el calendario completo con una vista de eventos personalizada (es casi la misma que la predeterminada, pero solo agregué un botón para eliminar el evento)
eventDidMount: function(eventDidMountInfo) { var $deleteBtn = $(eventDidMountInfo.el).find('button') if(eventDidMountInfo.event.extendedProps.can_edit_event) { $deleteBtn.on( "click", function(argument) { deleteTimeSlot(calendar, eventDidMountInfo.event) }) } else { $deleteBtn.remove() } }, eventContent: function(info) { return { html: '<div class="fc-event-main-frame"><div class="fc-event-time">' + info.timeText + '<button type="button" class="btn-close float-end m-1" aria-label="Close"></button></div><div class="fc-event-title-container"><div class="fc-event-title fc-sticky">' + info.event.title + '</div></div></div>' };esto funciona bien en la PC, me las arreglo para eliminar eventos sin ningún problema, el problema está en el móvil, el evento no se activa.
¿Supongo que hay algo que ver con la función de calendario completo de pulsación larga en el móvil?
Los dispositivos móviles utilizan la API de eventos táctiles, no los eventos de clic normales.
Así que tenemos que usar tanto .on( 'click' ) como .on( 'touchstart' ); para ser compatible tanto con PC como con algunos dispositivos móviles.
https://developer.mozilla.org/en-US/docs/Web/API/Touch_events