Bonsoir,

J’aimerais que vous m’aidiez à réaliser la chose suivante : j’aimerais pouvoir surcharger mon clic gauche de manière à faire la chose suivante. Je voudrais supprimer le comportement standard du clic gauche sur une page web et le remplacer par celui du clic droit. (ouverture du menu contextuel)
Par exemple quand on va sur gmail et qu’on fait un clic droit sur un mail on a un menu avec « archiver », « supprimer » et « marquer comme non lu ». Or j’aimerais qu’en faisant un clic gauche j’ai le menu contextuel standard.
Pour l’instant j’ai le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
var context = function(element)
{
    var evt = element.ownerDocument.createEvent('MouseEvents');
 
    var RIGHT_CLICK_BUTTON_CODE = 2; // the same for FF and IE
 
    evt.initMouseEvent('contextmenu', true, true, element.ownerDocument.defaultView, 1, 0, 0, 0, 0, false, false, false, false, RIGHT_CLICK_BUTTON_CODE, null);
 
    if (element.ownerDocument.createEventObject){
        // dispatch for IE
        return element.fireEvent('onclick', evt)
    }
    else{
        // dispatch for firefox + others
        return !element.dispatchEvent(evt);
    }
};
 
var contextmenu = function(Event)
{
    if(Event.button == 0) //Clic gauche
    {
        var element = Event.srcElement||Event.target;
        context(element);
    }
};
 
window.opener.addEventListener("mousedown", contextmenu, false);
Avec ce bout de code j'ai bien le comportement du clic droit qui vient surcharger le clic gauche mais j'ai 2 problèmes :

- le clic gauche garde son comportement normal malgré tout
- je n'ai pas le menu contextuel standard mais le menu spécial de gmail

Cordialement.