7

次のプラグインjqueryを使用してテーブルに右クリックコンテキストメニューを追加しようとしている既存のWebサイトを持っています .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
      }}
     ] 
   });
});

これにより、「追加」と「更新」を含むメニューが作成されます (実際のサイトでは別のメニューです) このコードを Web サイトに実装すると、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