2016-10-02 1 views
0

Chaque fois que le menu est sur le côté très droit ou très bas de l'écran, il est coupé et masqué au lieu de se déplacer vers la gauche (ou vers le haut) de façon dynamique.Free jqGrid Menu Context - Menu off set

Mon code HTML est:

<div class="contextMenu" id="runContextMenu" style="display:none"> 

Mon code Javascript est:

$("tr.jqgrow",'#'+gridName).contextMenu('runContextMenu', { 
    bindings: { 
    }, 
    onContextMenu: function (event, menu) { 
    } }); 
+0

Même symptôme peut être vu ici: http://www.ok-soft-gmbh.com/jqGrid/LocalFormEditingWithContextmenu2.htm – Tal

Répondre

1

Quelle version exactement de contextMenu que vous utilisez? Quelle version de l'interface utilisateur jQuery vous utilisez? Quelle version de jqGrid gratuit utilisez-vous?

Le problème, que vous décrivez semble être le problème pur de contextMenu. Il existe différentes versions contextMenu plugin. Par exemple, on peut utiliser le dossier jquery.contextmenu-ui.js du dossier plugins. Il contient the lines, qui fixent la position verticale du menu. De plus, je vous recommande d'utiliser $('#'+gridName).contextMenu au lieu de $("tr.jqgrow",'#'+gridName).contextMenu. Il ne fait qu'une seule liaison à la grille au lieu de lier toutes les lignes de la grille et de refaire la liaison en loadComplete après chaque pagination, tri ou filtrage. Le paramètre event de onContextMenu contient des informations complètes sur la ligne cliquée. Vous pouvez utiliser

var rowid = $(event.target).closest("tr.jqgrow").attr("id"); 

pour obtenir le rowid. Voir here.

Vous pouvez utiliser une autre alternative contextMenu plugin, comme https://swisnl.github.io/jQuery-contextMenu/ par exemple.

+0

Merci Oleg, oui, j'utilise celui dans le répertoire du plugin. J'ai finalement dû le changer. Je vais utiliser votre astuce pour relier la grille à la place de chaque rangée. – Tal