Ouvre la console d'Opera, et bascule en mode "mobile": le curseur est alors considéré comme un doigt (probablement sensible à la pression si t'as une tablette graphique ou assimilé)
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.
Jette un oeil aux sources JS des minis-jeux que j'ai, du devrais trouver quelques méthodes pour gérer tes events. Sinon, le MDN t'aideras (event touchstart dans ton cas, peut-être, faut voir s'il y en a un plus adapté https://developer.mozilla.org/en-US/docs...touchstart )
En gros, tu finiras avec ca:
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.
Code :
document.querySelector('.my-element #selector .like-css').addEventListener('eventName' /* 'contextmenu' probablement */, function () { ... });
Jette un oeil aux sources JS des minis-jeux que j'ai, du devrais trouver quelques méthodes pour gérer tes events. Sinon, le MDN t'aideras (event touchstart dans ton cas, peut-être, faut voir s'il y en a un plus adapté https://developer.mozilla.org/en-US/docs...touchstart )
En gros, tu finiras avec ca:
Code :
/* CSS */
/* tu convertiras tes JS en code CSS, j'ai la flemme */
.menu {
/*
document.getElementById(elementclique_inventaire).style.marginLeft = "65%";
document.getElementById(elementclique_inventaire).style.left = "0%";
document.getElementById(elementclique_inventaire).style.top = "10%";
document.getElementById(elementclique_inventaire).style.width = "450px";
document.getElementById(elementclique_inventaire).style.height = "215px";
*/
@media (min-width: 850px) {
.menu {
/* document.getElementById(elementclique_inventaire).style.marginLeft = "0%";
document.getElementById(elementclique_inventaire).style.left = "12%";
document.getElementById(elementclique_inventaire).style.top = "71%";
document.getElementById(elementclique_inventaire).style.width = "35%";
document.getElementById(elementclique_inventaire).style.height = "215px";*/
}
}
.menu:not(.opened) {
display: none;
}
/* etc */
Code :
/* JS */
document.querySelector('#objets_inventaire').addEventListener('contextmenu', function (e) {
document.getElementById('.menu').classList.add('opened');
});
document.querySelector('#objets_inventaire').addEventListener('contextmenuoff' /* heu, c'est pas ce nom d'event, mais il doit en exister un similaire pour ta fermeture de menu */, function (e) {
document.getElementById('.menu').classList.remove('opened');
});