2013-02-19 61 views
0

我正在使用此代碼綁定asp.net gridview與右擊使用jQuery contextmenu,但每次當我點擊它(使用菜單列表中的選項)它重新加載頁面。如果我想使用UpdatePanel,該怎麼辦?爲UpdatePanel添加jquery點擊事件

function fnView() { 
     var lnkView = document.getElementById('<%=lnkView.ClientID %>'); 
     var hiddenField = document.getElementById('<%=fldProductID.ClientID %>'); 
     hiddenField.value = $("div").filter("[type=ContextMenu]")[0].id.replace("Menu", ""); 
     lnkView.click(); 
    } 
    function fnDelete() { 
     var lnkDelete = document.getElementById('<%=lnkDelete.ClientID %>'); 
     var hiddenField = document.getElementById('<%=fldProductID.ClientID %>'); 
     hiddenField.value = $("div").filter("[type=ContextMenu]")[0].id.replace("Menu", ""); 
     lnkDelete.click(); 
    } 

    jQuery.fn.setEvents = function (e) { 
     var me1 = jQuery(this); 
     return this.each(function() { 
      var me = jQuery(this); 
      me.click(function (e) { 
       $("div").filter("[type=ContextMenu]").hide(); 
       fnSetMenu(me.children(':first-child').text(), e.pageX, e.pageY); 
      }); 
     }); 
    }; 
    function fnSetMenu(productID, left, top) { 
     if ($("#Menu" + productID).html() == null) { 
      var strMenuHTML = "<div type=\"ContextMenu\" id=\"Menu" + productID + "\" class=\"contextMenuClass\" mouseonmenu=\"1\"><table style='width:100%;'><tr><td onclick=fnView()>View Product</td></tr><tr><td onclick=fnDelete()>Delete Product</td></tr></table></div>"; 
      $("body").append(strMenuHTML); 
      $.post("MenuHandler.ashx", {}, function (response) { 
       $("#Menu" + productID).html(response); 
      }); 
     } 
     $("#Menu" + productID).css({ top: top + "px", left: left + "px" }).show(); 
    } 

    $(document).ready(function() { 
     $("#gvProducts tr.ShowContext").setEvents(); 
    } 
    ); 
    $(document).click(function (e) { 
     $clicked = $(e.target); 
     if (!($clicked.parents().hasClass("ShowContext") || $clicked.hasClass("contextMenuClass") || $clicked.parents().hasClass("contextMenuClass"))) { 
      $("div").filter("[type=ContextMenu]").hide(); 
     } 
    }); 

回答

0

使用jQuery的直播功能,通過此鏈接

http://stackoverflow.com/questions/256195/jquery-document-ready-and-updatepanels 
+0

謝謝您的幫助裏面的UpdatePanel事件

去綁定。但是我仍然無法使用這個實時功能。如果您需要使用實時功能,請告訴我在上面的代碼中應該做些什麼改變將不勝感激。 – user2036892 2013-02-19 12:44:01