7 votes

Pourquoi `cursor:context-menu` n'est-il pas pris en charge par Safari, Chrome ou Firefox sur Windows ? Mais c'est le cas pour IE9 et Opera?

Cette page dit qu'IE9 et Opera 11.6 prennent en charge le curseur context-menu sur Windows, mais je sais que Chrome, Safari et Firefox ne prennent pas en charge le curseur context-menu sur Windows, il montre simplement la flèche régulière dans ces navigateurs.

Je ne comprends tout simplement pas pourquoi ils ne prendraient pas en charge ce curseur. Ce serait extrêmement utile, surtout quand il est pris en charge dans ces navigateurs sur Mac.

Son but est de permettre à l'utilisateur de savoir que vous avez placé une fonction spéciale sur un élément qui sera activée lorsque vous activez le déclencheur du menu contextuel sur cet élément. Pour Windows, c'est un clic droit. (très probablement pour afficher un menu contextuel personnalisé)

Évidemment, tout a un menu contextuel sur le web, vous pouvez cliquer avec le bouton droit n'importe où sur une page et le menu contextuel générique apparaîtra. Ce curseur, cependant, est destiné à être utilisé lorsque vous placez votre propre fonction spéciale sur un élément qui sera activée par un clic droit (et quoi que les Macs aient - une touche de menu contextuel?)

Est-ce que quelqu'un sait pourquoi cela n'est pas pris en charge sur Windows par ces trois navigateurs, mais l'est sur Mac dans ces trois navigateurs?

5voto

scessor Points 11699

Sur la page du "curseur CSS" du Mozilla Developer Network, vous pouvez voir :

Un menu contextuel est disponible sous le curseur. Dans Gecko/Firefox, non implémenté sur Windows, bug 258960 WONTFIX.

Sur cette page, vous pouvez en savoir plus sur le bug, par exemple :

Dans les applications Windows natives, le curseur pour les zones avec un menu contextuel a toujours été identique au curseur normal. Utiliser un curseur personnalisé n'apportera pas grand-chose en dehors d'ennuyer les gens avec un curseur normal non par défaut.

3voto

KyleMit Points 6937

Pour vraiment être sans souci de navigateur / plate-forme, vous pouvez utiliser un curseur personnalisé à partir d'une URL d'image pour afficher le curseur du menu contextuel comme vous le souhaitez.

Par exemple, vous appliquez la règle CSS suivante :

cursor: url("https://i.stack.imgur.com/ygtZg.png"), auto;

Ce qui ressemble à ceci :

Menu Contextuel Personnalisé

Voici un Demo dans jsFiddle

Remarque : Même si vous pouvez résoudre les problèmes de rendu multiplateforme, vous voudrez peut-être considérer si vous devriez utiliser le curseur du menu contextuel. Il est si rarement utilisé qu'il peut semer la confusion chez les utilisateurs qui le voient, et les menus contextuels ne se traduisent pas bien en déploiements mobiles, qui représentent une grande partie des utilisateurs du web.

Lecture complémentaire :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X