Maison > interface Web > js tutoriel > le corps du texte

Partager un exemple simple de personnalisation du menu contextuel à l'aide de JS

黄舟
Libérer: 2017-05-31 10:09:33
original
1620 Les gens l'ont consulté

Cet article présente principalement JS implémentation simple d'exemples de menus contextuels personnalisés. L'éditeur pense que c'est assez bon, je vais donc le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur pour jeter un oeil

RT, un exemple simple, expliquant juste le principe

Le code est le suivant :

<p id="menu" style="width: 0;height: 0;background: cadetblue;position: absolute"></menu>
Copier après la connexion

Supposons que je voulez faire ce qui précède. Ce p est défini comme un menu contextuel et vous pouvez l'embellir à volonté.

Le principe est d'utiliser le menu contextuelévénement Lorsque vous faites un clic droit, cet événement sera déclenché. L'événementobjet peut obtenir la distance de. la souris depuis le coin supérieur gauche de la page clientX et clientY,

nous pouvons utiliser ces deux attributs pour contrôler le décalage horizontal et vertical de p, et renvoyer false pour annuler la valeur par défaut comportement de l'événement , Pour simuler le menu contextuel du navigateur.

document.oncontextmenu=function(e){

  var x=e.clientX+&#39;px&#39;;

  var y=e.clientY+&#39;px&#39;;

  var node=document.querySelector(&#39;#menu&#39;);

  node.style.left=x;

  node.style.top=y;

  node.style.width=100+&#39;px&#39;;

  node.style.height=100+&#39;px&#39;;

  return false; //很重要,不能让浏览器显示自己的右键菜单

}
Copier après la connexion

C'est maintenant la partie de fermeture. La façon de fermer le menu contextuel est généralement de cliquer avec le bouton gauche dans la zone vide.

document.onclick=function(e){

  if(e.target.id!=&#39;menu&#39;)

  {

    var node=document.querySelector(&#39;#menu&#39;);

    node.style.width=0;

    node.style.height=0;

  }
}
Copier après la connexion

Ceci n'est qu'une idée de base, le noyau est l'événement du menu contextuel. Sur cette base, vous pouvez utiliser CSS pour embellir et mettre à niveau à volonté, et ajouter des attributs tels que la transition pour obtenir l'effet animation.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal