Fullcalendar jour doubleclick de rappel
J'ai besoin de mettre en œuvre la fonction de travail sur dblclick, comme dayClick de rappel. J'ai essayé toutes les solutions que j'ai trouvé, mais rien de travailler pour moi, par exemple,La réponse de Michel. Par ailleurs, tous les threads sont assez vieux.
Le problème semble si banal, mais j'ai manqué d'idées de pourquoi il ne fonctionne pas.
Personne ne sait comment cela doit être fait dans la dernière version?
Mise à JOUR
ok, j'ai trouvé le problème 🙂
il s'arrête de fonctionner lorsque j'ai mis cette option: selectable: true
J'ajoute ceci à la place:
dayRender: (date, element, view) ->
element.bind "dblclick", ->
alert "double click!"
dayClick: (date, jsEvent, view) ->
$(".fc-highlight").removeClass("fc-highlight")
$(jsEvent.toElement).addClass("fc-highlight")
Et fonctionne parfaitement 🙂
Merci pour Votre aide.
Mise à JOUR 2
Cependant, cette solution n'est pas parfaite. Certains éléments de couverture de la journée de l'objet et il ne fonctionne pas sur toute la surface de la journée, alors je suis venu avec une autre solution:
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}"
C'est une question générale que j'ai rencontrés ainsi accepter la réponse si elle répond à votre besoin comme il va aider les autres.
OriginalL'auteur Szymon Rut | 2015-04-07
Vous devez vous connecter pour publier un commentaire.
Il fonctionne très bien avec
eventRender
Cliquez sur pour jsfiddle lien.La
eventRender
Déclenchée alors qu'un événement est en cours de rendu. &&dayRender
est Un crochet pour la modification d'une journée. Cliquez sur pour dayRender docsQuelle est la version de calendrier sont u utilisation, cette solution est pour 1.x
oui , il fonctionne....
S'il vous plaît laissez-moi savoir quelle version u à l'aide de je puisse mettre à jour la réponse pour le bénéfice d'autres personnes. Merci
2.6.1 trouver du travail pour que
OriginalL'auteur valar morghulis
Je Pense que c'est un problème commun qui nécessite généralement certain de piratage. @Valar Morghulas l'événement de rendre la solution est préférable de prendre l'événement, double-clics. Pour le reste du calendrier quoique, c'est peut-être un peu plus propre.
(En gros, vous rappelez-vous la date en un seul clic à l'aide de la dateClick de rappel et de l'oublier une fois que la souris se déplace)
jsfiddle démo
OriginalL'auteur scottysmalls
vous pouvez encaisser temps pour double-cliquez sur
OriginalL'auteur TimChang
Très orthodoxe, mais vous pouvez très facilement "émuler" un double-clic à l'intérieur de la
dayClick
rappel crochet. L'avantage est que vous avez cliqué sur le date et temps disponible dans ladate
moment()-variable.OriginalL'auteur Dan
J'ai rencontré le même problème que @Szymon de l'Ornière, avec le double-clic ne fonctionne pas dans l'ensemble de la cellule, de ne pas répondre dans le coin supérieur gauche d'une cellule. Ce qui a fonctionné pour moi a été tout simplement à l'aide de() à la place de bind() ...
Cela semble se produire en raison de la double cliquez sur gestionnaire est en cours de création sur
.fc-day
, qui a un faible niveau de z-index de.fc-content-skeleton
. Le montant des événements sur un jour donné affectera la région qu'une personne peut cliquer sur. Un hacky de contournement consiste à ajouterpointer-events:none
à.fc-content-skeleton
etpointer-events:auto
à.fc-event-container
.OriginalL'auteur Hugh Messenger
Faire
currentTime
une variable statique et envelopper 張庭昇s code dans une fonction, alors il pourrait être utilisé dans tout le "Clic" des gestionnaires:... Utiliser dans FullCalendar des Gestionnaires:
OriginalL'auteur Peter Bond