2013-07-18 37 views
6

Tôi đã có một trang web hiện có mà tôi đang cố gắng thêm menu ngữ cảnh nhấp chuột phải vào bảng bằng cách sử dụng plugin sau jquery Bảng trong tên php của tôi là " Table1" tôi đang sử dụng kịch bản java sau để cư menu:Trình đơn Nhấp chuột phải trên bảng Html trong IE Hiển thị Ở góc trên bên trái

$(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 
     }} 
    ] 
    }); 
}); 

Điều này tạo ra một menu chứa 'Add' và 'Làm mới' (Trong trang web thực tế của tôi nó đơn khác nhau của) khi tôi thực hiện mã này vào trang web của tôi nó hoạt động trong Chrome (Khi tôi nhấp chuột phải vào bảng nó sẽ hiển thị menu trên bảng nơi tôi nhấp) nhưng khi tôi mở trang bằng IE thì menu vẫn mở nhưng ở góc trên bên phải của IE ... Tại sao điều này lại xảy ra? tôi đang làm gì sai?

enter image description here

Edit: Được sử dụng đoạn mã sau Từ Api và bây giờ nó đang làm việc ... có vẻ là một cái gì đó với 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

Phiên bản IE nào? http://wwwendt.de/tech/demo/jquery-contextmenu/demo/ không hoạt động ở tất cả trong IE8 của tôi, nhưng hoạt động hoàn toàn tốt trong IE9. Làm thế nào về trang demo này trong IE của bạn? Có lẽ bạn nên kiểm tra xem bạn có phải thiết lập một số vị trí theo API được chỉ định ở đó: https://github.com/mar10/jquery-ui-contextmenu Bạn có ví dụ về trang hoàn chỉnh của mình không? Nếu trang demo đang hoạt động trong IE của bạn, bạn có thể muốn kiểm tra sự khác biệt đối với tập lệnh của mình. – stef77

+0

đây là javascript, jquery, html trả lời không về php –

+0

xoá thẻ php, chờ chấp nhận thông qua đánh giá ngang hàng. – stef77

Trả lời

-2

Chỉ cần chắc mã nhận ra khi trình duyệt là IE và in một thông báo có nội dung "Nhận một trình duyệt tốt hơn" ở giữa màn hình. - Giải quyết vấn đề!

Các vấn đề liên quan