13-08-2017, 04:01 AM
(Modification du message : 13-08-2017, 05:04 AM par L'Omniscient.)
Je suis fatigué je crois.
Ce n'est pas du tout le code qui permet de déplacer un objet, c'est le code qui permet d'ouvrir le descriptif des objets
Et c'est bien ce code qui pose problème.
Alors, en fait c'est un code qui se divise en deux. Si on clique dans le cadre "Inventaire", on ouvrira un menu d'objet, si on clique dans le cadre "Recettes" on ouvrira un menu de recette (ils ne sont pas situés au même endroit ni n'ont pas les mêmes informations).
Chaque objet et chaque recette à son menu crée à sa récupération PHP, tous en display none. Les menus ont pour ID le titre de l'objet / la recette + 2 ou 3 selon que ce soit un menu objet ou un menu recette. Du coup les variables elementclique permettent de récupérer le ID du parent contenant l'objet / la recette et son menu, puis de lui ajouter 2 ou 3 pour récupérer le cadre du menu uniquement (au final j'aurais pu récupérer le Xeme enfant du parent ça serait revenu au même), et le met en display block.
Il ne me semble pas que ton code permette de récupérer l'ID correspondant ni ne permette de définir si c'est un objet ou une recette qui s'ouvre. Et en plus, ça ne supprime pas le clic droit global ? Et je ne comprends pas ce que tu récupère dans l'ID, tu récupère un ID avec un nom de class ? Oo
Par contre le coup du .menu:not(.opened) a l'air sympa, je ne connaissais pas :O Ca fonctionne comment ?
Pour tout ce qui est innerWidth, je sais, mais à l'époque je ne savais pas utiliser du médiaquery. Je supprimerai ça progressivement, mais le javascript ajuste énormément le design du coup pour l'instant je laisse comme ça. Enfin, j'ai déjà commencé à faire de l'adaptation médiaquery pour petit à petit supprimer l'adaptation Javascript (sachant que je me confronte à un problème : j'ai basé mon adaptation JS sur du Height, et mon adaptation médiaquery sur du Width, du coup faudrait que je trouve des formats standards qui permettent d'unir les deux, une galère >>)
Touchstart c'est pour un clic ? J'ai déjà un événement sur un clic gauche, c'est le déplacement de l'objet. Il me faut un remplacement du clic droit. (D'ailleurs c'est peut-être pour ça que le clic prolongé ne fonctionne pas, parce qu'il s'arrête à l'événement du clic gauche et ne lance pas l'événement du clic prolongé ?)
EDIT : J'ai essayé la console mobile d'Opéra, alors j'ai l'impression que la console bugue énormément, mais le clic sur les objets d'inventaire a l'air de fonctionner (après avoir switché de sens, parce que sans switcher de sens ça fonctionnait pas xD). Par contre l'affichage des menus recettes ne fonctionne pas... Bon, ça voudrait dire qu'il se pourrait que le oncontextmenu fonctionne si on active les bonnes fonctions ?
Ce n'est pas du tout le code qui permet de déplacer un objet, c'est le code qui permet d'ouvrir le descriptif des objets
Et c'est bien ce code qui pose problème.
Citation :WTF de code?! Hum... Les event listener peuvent se placer sur les éléments HTML: inutile d'aller altérer le "on quelque chose" de l'objet "document". D'autant que le paramètre de la callback est l'event ("lobjet" me laisse penser que tu le vois comme étant l'élément HTML ciblé?! ce qui n'est pas le cas: c'est event.target qui devrait avoir cette info).
Oublies les innerWidth et autres fioritures du genre: JS n'est *pas* fait pour du styling. A la place, rajoute une classe sur un élément HTML lorsque le contextmenu est appelé, et dans le CSS, applique tes stylings à cet élément si cette classe est présente.
Alors, en fait c'est un code qui se divise en deux. Si on clique dans le cadre "Inventaire", on ouvrira un menu d'objet, si on clique dans le cadre "Recettes" on ouvrira un menu de recette (ils ne sont pas situés au même endroit ni n'ont pas les mêmes informations).
Chaque objet et chaque recette à son menu crée à sa récupération PHP, tous en display none. Les menus ont pour ID le titre de l'objet / la recette + 2 ou 3 selon que ce soit un menu objet ou un menu recette. Du coup les variables elementclique permettent de récupérer le ID du parent contenant l'objet / la recette et son menu, puis de lui ajouter 2 ou 3 pour récupérer le cadre du menu uniquement (au final j'aurais pu récupérer le Xeme enfant du parent ça serait revenu au même), et le met en display block.
Il ne me semble pas que ton code permette de récupérer l'ID correspondant ni ne permette de définir si c'est un objet ou une recette qui s'ouvre. Et en plus, ça ne supprime pas le clic droit global ? Et je ne comprends pas ce que tu récupère dans l'ID, tu récupère un ID avec un nom de class ? Oo
Par contre le coup du .menu:not(.opened) a l'air sympa, je ne connaissais pas :O Ca fonctionne comment ?
Pour tout ce qui est innerWidth, je sais, mais à l'époque je ne savais pas utiliser du médiaquery. Je supprimerai ça progressivement, mais le javascript ajuste énormément le design du coup pour l'instant je laisse comme ça. Enfin, j'ai déjà commencé à faire de l'adaptation médiaquery pour petit à petit supprimer l'adaptation Javascript (sachant que je me confronte à un problème : j'ai basé mon adaptation JS sur du Height, et mon adaptation médiaquery sur du Width, du coup faudrait que je trouve des formats standards qui permettent d'unir les deux, une galère >>)
Touchstart c'est pour un clic ? J'ai déjà un événement sur un clic gauche, c'est le déplacement de l'objet. Il me faut un remplacement du clic droit. (D'ailleurs c'est peut-être pour ça que le clic prolongé ne fonctionne pas, parce qu'il s'arrête à l'événement du clic gauche et ne lance pas l'événement du clic prolongé ?)
EDIT : J'ai essayé la console mobile d'Opéra, alors j'ai l'impression que la console bugue énormément, mais le clic sur les objets d'inventaire a l'air de fonctionner (après avoir switché de sens, parce que sans switcher de sens ça fonctionnait pas xD). Par contre l'affichage des menus recettes ne fonctionne pas... Bon, ça voudrait dire qu'il se pourrait que le oncontextmenu fonctionne si on active les bonnes fonctions ?