7

我有一个现有网站,我试图通过使用以下插件jquery 将右键单击上下文菜单添加到表中 我的 php 名​​称中的表是“Table1” 我正在使用以下 javascript 来填充菜单:

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

这会创建一个包含“添加”和“刷新”的菜单(在我的实际站点中,它的菜单不同)当我在我的网站上实现此代码时,它可以在 Chrome 中工作(当我右键单击表格时,它会在我单击的表格上显示菜单) 但是当我使用 IE 打开网站时,菜单仍然会打开,但在 IE 的右上角...为什么会这样?我究竟做错了什么?

在此处输入图像描述

编辑:使用来自 Api 的以下代码,现在它正在工作......似乎是 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};
    }
  });
4

0 回答 0