• # de l’intérêt mis à part.

    Posté par . En réponse au message atooltip, un événement au clic prolongé sur un lien. Évalué à 3. Dernière modification le 04 avril 2014 à 14:58.

    Hello,

    quelques idées,
    la documentation est vraiment travaillée, par contre il me semble que tu pourrais en affiner le formatage pour générer une meilleure documentation.
    Dans ton cas, je t'invite à regarder docco
    Des exemples concrets ici
    http://maboiteaspam.github.io/phantomizer_demo/demo/documentation/js/docco-style.html
    Ici pour le setup
    https://github.com/search?q=grunt%20docco

    Tu me fais mal aux yeux avec ton indentation, je préfère la reco de nodejs@joyent deux espaces.
    Beaucoup plus approprié pour javascript selon moi,
    https://github.com/felixge/node-style-guide

    plus spécifiquement pour jquery, qui au passage fournit le fichier de validation syntaxique
    http://contribute.jquery.org/style-guide/js/

    lire aussi
    http://caolanmcmahon.com/posts/nodejs_style_and_structure/

    Et puis la doc, encore.
    La doc utilisateur.
    Stp, donnes nous des exemples et un pavé de texte à lire dont nous ne sommes pas certains de bien le comprendre, mais sait on jamais, cela peut s'avérer utile.

    Utilise les pages github pour fournir quelques exemples concrets.

    Aussi, si tu souhaites que d'autres participent, écris des batteries de tests, perso je trouve vraiment difficile de rentrer dans un projet qui n'est pas le mien si celui ci ne possède pas de tests. J'ai le sentiment de marcher sur des oeufs, que le projet soit bien foutu ou non, petit ou gros.

    https://github.com/search?q=mocha&ref=reposearch + https://github.com/kmiyashiro/grunt-mocha
    ou
    http://qunitjs.com/ + https://github.com/search?q=qunit++grunt&type=Repositories&ref=searchresults

    Autrement, en mode lecture à froid, à la ligne 73

    clearTimeout(b); // supprimer le timer b (le timer s'efface lui même)

    Outre l'effet comique de la lecture.

    Je pense que ta variable devrait être déclaré dans le scope supérieur pour libérer le timeout lorsque qu'un autre mousedown survient.
    (tu me diras que c'est peu probable puisque l'user est déjà mousedown, sait on jamais)

    A la ligne 6, pourquoi ce selecteur ?

     $('a').on('mouseup', function(e)
    

    ...
    if(elem.get(0).tagName == "A")

    Pourquoi s'abonner à tous les liens de la page ? Et pas juste $(body).on("a","mouse... ?

    Éventuellement lorsque tu test le tag name, force la casse, il n'y a pas de raisons de croire que toutes les implémentations suivent le même comportement (majuscule).

    Par ailleurs, le mouseup devrait être déclaré dans le premier timeout.
    Si ce dernier ne s’exécute pas, les événements ne seront pas déclarés.

    Aussi, tu dis conseiller mettre le script en bas de page, je demande alors pourquoi tu as mis un document.ready.
    Si je mets déjà le script en bas de page, qui est une bonne recommendation, je ne dois pas avoir besoin de faire appel à ready.

    Aussi2, ton script n'est ni déchargeable / rechargeable (bind / unbind) et il n'est pas non plus discret (? en français c'est weird..) (ie, unobtrusive).
    Donc si un display survient après l’exécution de celui ci, les tooltips du display ne fonctionneront pas.

    https://en.wikipedia.org/wiki/Unobtrusive_JavaScript

    elem.attr('nohref', elem.attr('href')); // créer l'attribut "nohref" et y stocker la valeur de href=""

    regardes la méthode $.data

    var event = e; // copier l'evenement dans la variable "event"

    Là j'ai un gros doute. Mais amha, e est déjà copié dans le scope, puis référencé par les fonctions de timeout. Donc il n'est pas nécessaire de le re copier ainsi. Mais j'avoue que j'ai un doute.

    $('.atooltip').on('mousedown',

    $(body).on("a.atooltip","mouse... ?

    $('.have_helpbox').dblclick(f...

    $(body).on(".have_helpbox","mouse... ?
    Et pourquoi ce changement de syntaxe de on a dblclick ?

    elem.attr('nohref', elem.attr('href')); // créer l'attribut "nohref" et y stocker la valeur de href=""
    elem.removeAttr('href'); // supprimer l'attribut href

    Mais jute pourquoi supprimer le href du noeud ? Retournes false, ou annule l’événement au clic/mousedown non ? Je ne trouves pas de bonnes raisons à s'arroger le droit de modifier un élément partagé de la sorte lorsqu'une alternative existe.

    J'ai la flemme de l'essayer pour être honnête, et j'ai peut être dis des bêtises ici. Relu à froid.

    Mais bon, voilà le genre de relecture que je ferais.