2013-07-18 12 views
6

Mam istniejącą stronę internetową, którą próbuję dodać menu kontekstowego prawego przycisku myszy do tabeli za pomocą poniższej wtyczki jquery Tabela w moim php jest " tabela1" używam następujący skrypt java, aby wypełnić menu:Menu prawego przycisku myszy na tabeli HTML w IE Wyświetla się w lewym górnym rogu

$(document).ready(function() 
    { 
     $("#Table1").contextmenu({ 
     delegate: ".RightClickMenu", 
     menu: [ 
      {title: "Add", action: function(event, ui) { 
     // Do something 
     }}, 
     {title: "----"}, 
     {title: "Refresh", action: function(event, ui) { 
     // Do something 
     }} 
    ] 
    }); 
}); 

Stwarza to menu zawierające «Dodaj» i «Refresh» (W moim faktycznym miejscu jego różnych menu użytkownika), gdy zaimplementować ten kod na mojej stronie działa w Chrome (po kliknięciu prawym przyciskiem myszy na stole wyświetla się menu na stole, w którym kliknąłem), ale kiedy otwieram stronę za pomocą IE, menu wciąż się otwiera, ale w prawym górnym rogu IE ... Dlaczego tak się dzieje? Co ja robię źle?

enter image description here

Edit: Używany następujący kod z API, a teraz pracuje ... Wydaje się, że coś z IE8

$("#StockListWorkBenchTbl").contextmenu({ 
    delegate: ".StockListWorkBenchTblRightClickMenu", 
    menu: [ 
     {title: "Review Bids", action: function(event, ui) { 
      var row = ui.target.parent(); 
      var BidID = row.attr('id'); 
      var selFlowStat = row.find('td:eq(2)').html();    

      CallFetchReviewBids(BidID, selFlowStat); 
     }}, 
     {title: "Extend Expiry", action: function(event, ui) { 
      /*var BidID = ui.target.parent().attr('id'); 
      var BidRow = ui.target.parent(); 
      ExtendExpiry(BidID, BidRow);*/ 

      $("#StockListWorkBenchTbl tr").each(function(){ 
       var BidRow = $(this); 
       var BidID = BidRow.attr("id"); 
       var Checkbox = $(this).find("input:checkbox:first"); 

       if (Checkbox.attr("id") !== "StockListWorkBenchAllChecked") 
       { 
       if (Checkbox.is(":checked")) 
       { 
        ExtendExpiry(BidID, BidRow); 
       } 
       } 
      });    
     }}, 
     {title: "----"}, 
     {title: "Refresh", action: function(event, ui) { 
      CallToFetchWorkBench(0); 
     }} 
    ], 
    position: function(event, ui){ 
     return {my: "left top", at: "left bottom", within: ui.target}; 
    } 
    }); 
+3

Jaką wersję IE? http://wwwendt.de/tech/demo/jquery-contextmenu/demo/ nie działa w ogóle w moim IE8, ale działa idealnie dobrze w IE9. A co z tą stroną demo w twoim IE? Być może powinieneś sprawdzić, czy musisz ustawić jakąś pozycję zgodnie z określonym tam API: https://github.com/mar10/jquery-ui-contextmenu Masz przykład całej swojej strony? Jeśli strona demo działa w twoim IE, możesz sprawdzić różnice w swoim skrypcie. – stef77

+0

to jest javascript, jquery, odpowiedź html nie o php –

+0

usunięto tag php, czekając na akceptację za pośrednictwem recenzji. – stef77

Odpowiedz

-2

Tylko kod rozpoznać, gdy przeglądarka jest IE i wydrukuj wiadomość z napisem "Uzyskaj lepszą przeglądarkę" na środku ekranu. - Problem rozwiązany!

Powiązane problemy