6
votes

Comment puis-je améliorer cette interface de type JQuery Gmail?

EDIT 3: J'ai obtenu ce travail en ignorant les conseils donnés ci-dessous et l'écoute de la fenêtre, mais seulement lorsqu'un entrée , text ou textarea ne se concentre pas. Je ne suis pas sûr que ce soit la meilleure façon d'être traiter ce problème, cependant.

http://jsfiddle.net/gXPES/5/


EDIT 2: J'ai essayé aborder le keydown problème en appliquant mise au point et flou manutentionnaires à < code> entrée s. Alors j'écoute seulement pour des événements lorsque var focus_on_input == true . Mais il semble que tout ne va pas bien. Ce qui empêche certains comportements, mais ayant d'autres, un comportement plus bizarre. Par exemple, quand je onglet sur le champ de saisie, appuyez sur J et K va sauter vers le haut ou le bas de la liste. Si I cliquez sur ailleurs et mise au point de changement, ce problème est résolu. Toute pensée?


EDIT: Merci à answerer aide, j'ai limité les sélecteurs lors de l'écoute keydown pour que je puisse encore taper des caractères ailleurs, mais je suis en cours d'exécution dans un nouveau numéro. Lorsque j'appuie sur J ou K les sauts de navigation flèche vers le haut ou le bas de la liste des tâches. Et quand je presse C ou # il me informe qu'aucune tâche est sélectionnée. X fonctionne comme il se doit et ne sélectionnez pas une tâche.


Hébergement ce code sur jsFiddle car il n'y a aucun moyen possible de faire des commentaires dans son intégralité ici. J'ai posté tout mon JS, CSS et HTML utilisé pour l'interface elle-même.

Je suis la conception d'une interface utilisateur d'inspiration Gmail pour la gestion des tâches en utilisant jQuery sur le front-end (et PHP sur le back-end, mais il est largement hors de propos à ce sujet).

Je suis encore relativement nouveau pour le développement jQuery et je me rends compte Je fais un certain nombre de mauvaises choses . Jusqu'à présent, je tout simplement pas connu quoi exactement Je fais mal ni comment le résoudre . J'espérais des âmes plus savants pourraient me aider (et d'autres, je l'espère) Découvrez comment factoriser le code jQuery pour une application de plus grande taille.

Pour commencer, voici un certain nombre de choses que je voudrais savoir comment faire mieux:

  1. Appeler ce code uniquement lorsque l'interface de tâche est active.

  2. Améliorer l'écoute pour le keydown . Actuellement, j'écoute pour J , K , X , Maj + 3 et C . Je vais aussi être à l'écoute sur E pour l'édition tâche, mais pas encore mis en œuvre les modifications. Le problème avec les auditeurs est liée à ma première préoccupation, est qu'ils sont toujours . Cela signifie que la touche J alors que dans un