如何禁用asp:Panel中包含的元素的所有onclick事件

时间:2016-05-03 16:45:46

标签: c# jquery

我有以下代码:

<asp:Panel ID="PanelID2" runat="server">
    <asp:LinkButton runat="server" ID="Btn2"/>
    <uc:UserControl runat="server" ID="UserControl2"/>
    <asp:Button runat="server" />
     ...
</asp:Panel>
<asp:Panel ID="PanelID1" runat="server">
    <asp:LinkButton runat="server" ID="Btn1"/>
    <uc:UserControl runat="server" ID="UserControl1"/>
     ...
</asp:Panel>

我想禁用PanelID1中所有元素的所有onclick事件。 我正在尝试这个,但是会禁用所有元素的所有onclick事件。        $("[onclick]").removeAttr("onclick"); 怎么可能?谢谢

2 个答案:

答案 0 :(得分:0)

因为你可能在面板中有多个div,所以使用jquery

$( document ).ready(function() {
   $('#Panel1').find('div').removeAttr("onclick");
});

更新fiddle

答案 1 :(得分:0)

您应该使用$("[id$=PanelID1] *")选择器。


如果您对OnClick等asp标记使用<asp:LinkButton ...>,则会呈现如下内容:

<a id="LinkButton1" href="javascript:__doPostBack('LinkButton1','')"></a>


因此,您应该按照jQuery代码删除href属性:

$("[id$=PanelID1] *").removeAttr("href");


如果您仍想在onclick中删除<asp:Panel ID="PanelID1" ..>中所有onclick个属性,请使用removeAttr函数中的$("[id$=PanelID1] *").removeAttr("onclik");

{{1}}