J'ai réussi à désactiver l'événement clic droit sur la page que je travaille sur l'utilisation de jquery. Je veux créer un menu de clic droit personnalisé. Comment puis-je faire ceci? Est-ce que cela nécessite un réglage CSS approprié pour le faire fonctionner (c'est-à-dire "position")?comment écrire votre propre clic droit menu et désactiver la valeur par défaut en utilisant jquery/javascript
Répondre
Il existe différents plugins de menu contextuel jQuery là, prêt à l'emploi:
Puis-je ajouter de nouvelles fonctions (à part copier par défaut, éditer, coller, etc.) dans le menu contextuel? – kratz
Cet exemple fonctionne, mais il est ringard. Ce que vous pourriez faire dans votre gestionnaire de menu contextuel est d'afficher un DIV à un emplacement spécifique sur l'écran avec les éléments de votre choix. Pour autant que je sache, il n'y a aucun moyen de personnaliser les éléments dans le menu contextuel qui s'affiche lorsque vous cliquez avec le bouton droit sur les éléments.
<html>
<head>
<title>Context menu test</title>
<style type="text/css">
.element {
background-color: blue;
height: 300px;
width: 300px;
}
.popup {
background-color: red;
border: 1px solid black;
width: 100px;
height: 100px;
position: absolute;
}
</style>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(function() {
$(".element").contextmenu
(
function(e) {
$("div.popup").remove();
$("<div class='popup'>Hi</div>").appendTo("body")
.css("left", e.pageX)
.css("top", e.pageY)
.show();
e.preventDefault(); // return false; also works
}
);
}
);
$.fn.contextmenu = function(func) {
return this.bind("contextmenu", func);
}
</script>
</head>
<body>
<div class="element"></div>
</body>
</html>
Il y a aussi ce plugin: Audero Context Menu. C'est gratuit et très simple à utiliser.
Je vous recommande de ne pas le faire, sauf si vous donnez à l'utilisateur la possibilité de l'éteindre - c'est agaçant, et rompt la façon de faire les choses. Par exemple, si un utilisateur voulait enregistrer une image de votre site Web, il ne pourrait pas le faire facilement (il peut toujours le faire, il suffit de passer par des cerceaux). – Chii
Pas un problème puisque je l'utilise pour une application pour un groupe sur un intranet. – kratz