Bonjour,
Je travaille en Jquery SVG, l'utilisateur peut créer des objets possédant des "connecteurs".
Lorsque l'utilisateur click droit sur ses connecteurs, un menu apparaît.
Mon souci c'est qu'il doit cliquer deux fois (clic droit) pour voir apparaitre le menu.
Le plugin pour le clic droit : http://jcrozier.developpez.com/tutor...nu-contextuel/

Mon code :
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 
$('html').on('mousedown', function(event){
 $('circle').contextMenu({
    menu: 'myMenu'
    },function(action, el, pos) {
        if(action == 'colorClim'){
            $(el).attr('fill', '#f38b53');
        } else if(action == 'colorTcp'){
            $(el).attr('fill', '#1b98cb');
        } else if(action == 'colorPower'){
            $(el).attr('fill', '#21b821');
        } else if(action == 'supprimer'){
            $(el).remove();
        } 
        if(action == 'move'){
            group = $(el).parent().attr('id');
            groupX = $('#'+group+' rect').attr('x');
            groupXWidth = $('#'+group+' rect').attr('width');
 
            groupXMarge = parseInt(groupX) + 5;
            groupY = $('#'+group+' rect').attr('y');  
            validGroupX = parseInt(groupX) + parseInt(20);
            validGroupX2 = (parseInt(groupY) + 200) - parseInt(20);  
            v1 = parseInt(groupX) + 180;
            v2 = parseInt(groupX) + 200;
            el2 = $(el).attr('id');
 
            $('#'+group).on('click', function(event){
                Circlex = parseInt(event.pageX) - parseInt($('#svgsketch').offset().left);  
                Circley = parseInt(event.pageY) - parseInt($('#svgsketch').offset().top);
                console.log(Circlex+' '+validGroupX2);//&& Circley >= groupY
                    if(Circlex >= groupX && Circlex <= validGroupX){
                        $('#'+el2).attr('cx', groupXMarge);
                        $('#'+el2).attr('cy', parseInt(Circley)+10);                                    
                    } else if (Circlex >= v1 && Circlex <= v2){
                        $('#'+el2).attr('cx', parseInt(v2)-5);
                        $('#'+el2).attr('cy', parseInt(Circley)+10);                                         
                    } else { console.log('pas le droit'); }
            }); 
     }             
}); 
// suite code
});
C'est peut être le mousedown qui rentre en conflit avec mon plugin (car l'évènement un présent dans le code) ?

Merci de votre aide.