Bonjour à tous.
Voilà, je voudrais savoir s'il était possible de désactiver la fermeture automatique du datepicker lorsque l'on clique ailleurs que dans celui-ci ?
Merci d'avance de votre réponse.
Bonjour à tous.
Voilà, je voudrais savoir s'il était possible de désactiver la fermeture automatique du datepicker lorsque l'on clique ailleurs que dans celui-ci ?
Merci d'avance de votre réponse.
Bonjour,
Il semble que ce lien réponde à ta question :
http://stackoverflow.com/questions/1...licking-a-date
Cordialement.
Ce qu'il fait là n'est-il pas seulement pour l'évènement "clic sur une date" ?
Moi c'est l'évènement "clic en dehors du datepicker" que je voudrais annuler.
OK, donc plutôt ce lien là :
http://forum.jquery.com/topic/datepi...s-click-events
Cordialement.
Si je comprends bien, il faudrait que je déclare un évènement clic sur mon body, qui annulerait la fermeture du datepicker si celui-ci est ouvert, et qu'ensuite j'annule ce comportement au clic dans le datepicker ?
Je trouve pas ça très très propre..
J'ai réussi à désactiver ce comportement en allant directement supprimer les lignes correspondantes dans le fichier jquery ui custom. Mais je ne peux pas me permettre de faire ça pour tous les projets dans l'avenir (ce fichier sera réutilisé dans d'autres projets).
Voici les lignes en question :
N'y aurait-il pas moyen de désactiver ce comportement autrement qu'en allant directement intervenir dans le fichier jquery ui custom ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 /* Close date picker if clicked elsewhere. */ _checkExternalClick: function(event) { if (!$.datepicker._curInst) return; var $target = $(event.target); if ($target[0].id != $.datepicker._mainDivId && $target.parents('#' + $.datepicker._mainDivId).length == 0 && !$target.hasClass($.datepicker.markerClassName) && !$target.hasClass($.datepicker._triggerClass) && $.datepicker._datepickerShowing && !($.datepicker._inDialog && $.blockUI)) $.datepicker._hideDatepicker(); },
J'espère que non.
Je n'ai pas de Datepicker sous la main, mais il me semble que tu peux intercepter l’événement avant que Datepicker ne le voit comme dans le lien que je t'ai fournis :
Ceci va permettre d'attraper l’événement, et si tu vois que le Datepicker s'est fermé, tu le rouvres dans cette fonction.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $("body").click(function(event) { if ($(event.target).parents(".ui-datepicker").size() == 0) { /* click is not from within a datepicker */ } });
Partager