Le click droit ne sert pas a grand chose, car sous Firefox, il affiche les deux menu contextuel (celle du navigateur en modal) et (celle du api jquery) en windowless donc non visible :(, s'est pas top en ergonomie.
Version imprimable
Le click droit ne sert pas a grand chose, car sous Firefox, il affiche les deux menu contextuel (celle du navigateur en modal) et (celle du api jquery) en windowless donc non visible :(, s'est pas top en ergonomie.
Je ne vois qu'un menu sous FF... Je suis fatigué peut être :calim2:Citation:
car sous Firefox, il affiche les deux menu contextuel (celle du navigateur en modal) et (celle du api jquery)
Donc il n'est pas possible de faire ce que je cherche à faire alors ?
Je sais pas trop ce que fait ce plugin :
Je fais en général met propre :(.
Dit moi ce que tu veux faire exactement?
Je cherche a ajouter un menu contextuel sur le tableau HTML que génère une certaine appli...
Donc dans mon menu contextuel, je voudrais ajouter dans un permier temps un menu pour les fichiers et ou dossiers :
-> Supprimer
-> Renommer
Une petite popup qui demande si je veux vraiement supprimer le fichier...
Une autre qui comporte le champ de saisie pour renommer le fichier/dossier...
En fonction du choix, j'envoi ensuite la commande à une page PHP qui traite le renommage ou suppression.
Voila ce que je cherche a faire en JavaScript/Ajax
Selon l'exemple de ton lien tu utilise un tableau html et pas des menu ul li et je n'ai pas tout le code de ta page concernant la gestion de tes click
ça s'est la version complète :
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 $(document).ready( function() { // Show menu when #myDiv is clicked $("#myDiv").contextMenu({ menu: 'myMenu' }, function(action, el, pos) { alert( 'Action: ' + action + '\n\n' + 'Element ID: ' + $(el).attr('id') + '\n\n' + 'X: ' + pos.x + ' Y: ' + pos.y + ' (relative to element)\n\n' + 'X: ' + pos.docX + ' Y: ' + pos.docY+ ' (relative to document)' ); }); // Show menu when a list item is clicked $("#myList UL LI").contextMenu({ menu: 'myMenu' }, function(action, el, pos) { alert( 'Action: ' + action + '\n\n' + 'Element text: ' + $(el).text() + '\n\n' + 'X: ' + pos.x + ' Y: ' + pos.y + ' (relative to element)\n\n' + 'X: ' + pos.docX + ' Y: ' + pos.docY+ ' (relative to document)' ); }); // Disable menus $("#disableMenus").click( function() { $('#myDiv, #myList UL LI').disableContextMenu(); $(this).attr('disabled', true); $("#enableMenus").attr('disabled', false); }); // Enable menus $("#enableMenus").click( function() { $('#myDiv, #myList UL LI').enableContextMenu(); $(this).attr('disabled', true); $("#disableMenus").attr('disabled', false); }); // Disable cut/copy $("#disableItems").click( function() { $('#myMenu').disableContextMenuItems('#cut,#copy'); $(this).attr('disabled', true); $("#enableItems").attr('disabled', false); }); // Enable cut/copy $("#enableItems").click( function() { $('#myMenu').enableContextMenuItems('#cut,#copy'); $(this).attr('disabled', true); $("#disableItems").attr('disabled', false); }); });
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
43
44
45
46
47 <h1>Démo du plugin "Menu contextuel" de jQuery</h1> <p> Ce plugin vous permet de créer des menus contextuels dans vos applications Web. </p> <p> <strong>Tip:</strong> Essayer avec votre clavier pour faire des sélections. </p> <h2>Demo</h2> <div id="myDiv"> Clic droit pour voir le menu contextuel </div> <div id="myList"> <ul> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> <li>Item 4</li> <li>Item 5</li> <li>Item 6</li> </ul> </div> <div id="options"> <p> <input id="disableItems" value="Désactiver Couper/Copier" type="button"> <input id="enableItems" value="Activer Couper/Copier" disabled="disabled" type="button"> </p> <p> <input id="disableMenus" value="Désactiver les menus contextuels" type="button"> <input id="enableMenus" value="Activer les menus contextuels" disabled="disabled" type="button"> </p> </div> <ul style="-moz-user-select: none;" id="myMenu" class="contextMenu"> <li class="edit"><a href="#edit">Edition</a></li> <li class="cut separator"><a href="#cut">Couper</a></li> <li class="copy"><a href="#copy">Copier</a></li> <li class="paste"><a href="#paste">Coller</a></li> <li class="delete"><a href="#delete">Supprimer</a></li> <li class="quit separator"><a href="#quit">Quitter</a></li> </ul>
Le menu contextuel en lui même fonctionne correctement...
Je veux intégrer un menu contextuel sur un tableau HTML et non pas sur du UL/LI
Je veux pouvoir récupérer le lien du fichier lors d'un clic gauche > menu contextuel > Supprimer dans les différentes ligne du tableau HTML retourné.
Dans le dernier code montré il y a une suite :
donc ce qui fait pour toi :Code:
1
2
3
4
5
6
7
8
9
10
11
12 // Show menu when a list item is clicked $("#myList UL LI").contextMenu({ menu: 'myMenu' }, function(action, el, pos) { alert( 'Action: ' + action + '\n\n' + 'Element text: ' + $(el).text() + '\n\n' + 'X: ' + pos.x + ' Y: ' + pos.y + ' (relative to element)\n\n' + 'X: ' + pos.docX + ' Y: ' + pos.docY+ ' (relative to document)' ); });
Code:
1
2
3
4
5
6
7
8
9
10
11
12 // Show menu when a list item is clicked $("#myDiv table tr td").contextMenu({ menu: 'myMenu' }, function(action, el, pos) { alert( 'Action: ' + action + '\n\n' + 'Element text: ' + $(el).text() + '\n\n' + 'X: ' + pos.x + ' Y: ' + pos.y + ' (relative to element)\n\n' + 'X: ' + pos.docX + ' Y: ' + pos.docY+ ' (relative to document)' ); });
Wouéé :ccool:
Merci headmax !
Avec le code ci-dessous je récupère bien ce que je cherche ;)
Par contre quel conseil/code peux tu me donner sur l'ouverture d'une popup ?Code:$("#myDiv table tr td").contextMenu({
Je me demande si une DIV caché peut être affiché au centre la page et par la suite appeler ma page PHP...:calim2:
Code:.load()
Code:.show()
Tu peux tout a fait mettre une div en display none (visible), display block (invisible).
tu peux centrer en css comme en js dynamiquement.
à mettre au chargement de ta page "jquery"Code:
1
2<div id="myCenterDIV"></div>
A mettre la ou moment ou tu veux afficher ta divCode:
1
2 $("myCenterDiv").css("{display: 'none', borderLeft: '5px solid #ccc'}");
à mettre la ou tu veux activer l'affichage de ta div, j'ai mit d'autre style pour que tu puisse comprendre comment ajouter du css dans cette méthode.Code:
1
2 $("myCenterDiv").css("{display: 'block', borderLeft: '5px solid #ccc'}");
Voilà pour centrer en JS il y a un tas de tuto, pour débuter, c'est mieux et ca permet de mieux cibler tes lacunes et js s'apprend très vite...
Bon courage ;) pour la suite.