Appel d'une fonction JS Via un Menu Contextuel
Bonjour à tous !
Après de NOMBREUSEEE recherche sur le net :mouarf: ! 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 :ptdr:
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:
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 :aie: (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 :
Code:
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);
} |
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 ! :weird:
En ce moment je Test ceci
Code:
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); |
Idéalement j'aimerais savoir lorsque l'utilisateur click sur la div cut ou copy ou parse :mrgreen: ! mais vue que le GetElementById ne marche pas et bien je suis un peu bloquer !
Maintenait si quelqu'un pouvais m'éclairé un peu je dit pas non.