Bonjour à tous !
Après de NOMBREUSEEE recherche sur le net ! Je suis toujours à la recherche d'une solution.
Je m'explique ça fais maintenant plus de trois jours que je recherche le moyen de faire correspondre un click dans un menu contextuel à une fonction en JS je touche au but.
Mais malheureusement j'ai l'impression de tournée en rond.
(Je vous voie venir avec vos tuto de menu contextuel en Jquery en html simple etc .. c'est vue et revue (Et en plus le PB n'est pas là !) )
J'utilise une librairie nommé DHTMLX qui fournie des fonctions lié au menu contextuel. Donc j'ai mis en place tout ce bazar
Mais il y a un mais ! Quand je click (Gauche) sur l'une de mes div (qui son doté de onclick() je sais c'est moche xD ) Baaaaa... Il ne ce passe rien.
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <!-- Menu Contextuel --> <div id="menuData" style="display: none;"> <div id="m1" text="File"> <div id="m11" text="Cut" img="cut.gif" imgdis="cut_dis.gif" onclick="cut();"><hotkey>Ctrl+X</hotkey></div> <div id="ms1" type="separator"></div> // a separator <div id="m12" text="Copy" img="copy.gif" imgdis="copy_dis.gif" onclick="TEST();"><hotkey>Ctrl+C</hotkey> </div> <div id="m13" text="Paste" img="paste.gif" imgdis="paste_dis.gif" onclick="paste();"><hotkey>Ctrl+V</hotkey></div> </div> </div> <!---------------->
J'ai testé beaucoup de solution et je reste sans solution (Je tient a précisé que mes fonctions fonctionne très bien a part !)
Le plus bizarre c'est que l'lorsque j'essai d'accédé a l'un de mes éléments via un GetElementById il me revoie une erreur comme quoi mon contextemenu est "null"
Pour ce qui est du JS :
Voilà donc jusque là ça va ! Le menu s'affiche tout va bien sauf que quand je clik !!!! Gauche sur l'une des rubriques, il ne ce passe rien LEL !
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 //#region MENUX var menu = new dhtmlXMenuObject(); // Création de l'objet Menu menu.setIconsPath("./Scripts/codebase/imgs/"); // Charge imgs menu.renderAsContextMenu(); //menu.loadStruct("./Scripts/codebase/dhxmenu.xml?e=" + new Date().getTime()); // Load structure Menu XML file menu.loadFromHTML("menuData", true); // Load HTML Structure var event_id, cb_date, cb_isCopy, cb_section = null; scheduler.attachEvent("onContextMenu", function (event_id_loc, native_event_object) { // appel du Menu context event_id = event_id_loc; cb_date = scheduler.getActionData(native_event_object).date; cb_section = scheduler.getActionData(native_event_object).section; /* Menu position */ var posx = 0; var posy = 0; if (native_event_object.pageX || native_event_object.pageY) { posx = native_event_object.pageX; posy = native_event_object.pageY; } else if (native_event_object.clientX || native_event_object.clientY) { posx = native_event_object.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; posy = native_event_object.clientY + document.body.scrollTop + document.documentElement.scrollTop; } /* Menu items */ if (event_id) { menu.showItem("m11"); menu.showItem("ms1"); menu.showItem("m12"); menu.hideItem("m13"); menu.hideItem("ms2"); menu.showContextMenu(posx, posy); } else { menu.hideItem("m11"); menu.hideItem("m12"); menu.showItem("m13"); menu.hideItem("ms1"); menu.hideItem("ms2"); menu.showContextMenu(posx, posy); }
En ce moment je Test ceci
Idéalement j'aimerais savoir lorsque l'utilisateur click sur la div cut ou copy ou parse ! mais vue que le GetElementById ne marche pas et bien je suis un peu bloquer !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if (menu.getItemType("m11").click == true){menu.forEachItem(cut);} if (menu.getItemType("m12").click == true){menu.forEachItem(copy);} if (menu.getItemType("m13").click == true){menu.forEachItem(paste);} menu.forEachItem(copy);
Maintenait si quelqu'un pouvais m'éclairé un peu je dit pas non.
Partager