Retour à l'usine

Retour à l’usine aujourd’hui, après une journée et demie de congés, et avec en tête de reprendre le boulot sur Clearbricks, d’en faire profiter Dotclear (et mes plugins au passage), et plus particulièrement ces jours reprendre l’usage des champs de formulaire pour prendre en compte ce qui a été fait côté Clearbricks.

Sinon, un truc qui m’a longtemps gêné est l’absence de prise en compte des touches esc et (retour/entrée) dans les popups qu’on utilise dans l’administration de Dotclear, comme par exemple lors de l’insertion d’un média.

Sur mon dernier plugin, j’ai géré ça en javascript avec ceci :

$('#hljs-form').keyup(function(e) {
  // Cope with Escape key anyway in form
  if (e.which == 27) {
    e.preventDefault();
    $('#hljs-cancel').trigger('click');
  }
});

$('#hljs-ok, #syntax').keyup(function(e) {
  // Cope with return key on syntax select or Ok button
  if (e.which == 13) {
    e.preventDefault();
    $('#hljs-ok').trigger('click');
  }
});

Ça me permet de gérer l’annulation quel que soit le focus dans la poup, et la touche entrée/retour sur les éléments qui devraient logiquement « valider » le pseudo-formulaire, en simulant un clic souris au bon endroit quand la touche idoine est pressée.

Pour les curieux, le e.preventDefault(); qu’on voit fréquemment, sert à dire au navigateur : fait comme si la touche n’avait pas été pressée (ou plutôt que cet événement n’avait jamais eu lieu), je m’occupe du tout.

Y’a surement mieux à faire, entre autre pour gérer ça de manière plus générique ; faudrait que je regarde ça de plus près…


Je viens de me rendre compte que la propriété which est indiquée comme deprecated. Va falloir que je modifie ça…

Ajouter un commentaire

Les commentaires peuvent être formatés en utilisant une syntaxe wiki simplifiée.

Ajouter un rétrolien

URL de rétrolien : https://open-time.net/trackback/13695

Haut de page