0

我有LinkButton一个

 <asp:LinkButton ID="lnkbuton" runat="server" OnClick="lnck" Text="hello">

实际上我有一个 LinkBut​​ton 和一个 TabContainer 有两个选项卡。当用户单击选项卡时,我正在清除 GridView 中的数据,但是当用户单击 LinkBut​​ton 时,我不想清除数据。因此,我想查找是否单击了 LinkBut​​ton。

我做了这样的事情。

function onBeginRequest(sender, args) {
   $(document).ready(function(){
   var shHide = "0";

    $("#lnkbuton").click(function() {
       shHide="1";
      alert("clcik")
    });

    if (shHide == "0") {
        ClearHideElement();
    }
})

}

但这不起作用。此外,警报永远不会被执行。

4

2 回答 2

2

aspx 页面中的控件生成自己的 ID,它们并不总是使用您给它们的 ID:http: //msdn.microsoft.com/en-us/library/1d04y8ss.aspx

试试这个:

$("#<%= lnkbuton.ClientID %>").click(function() {
       shHide="1";
      alert("clcik")
    });
于 2012-07-30T23:06:05.307 回答
0

检查事件的目标,如果不是anchor,请执行您的操作。

 $("#lnkbuton").click(function(event) {
    if (event.target != this) {
         shHide="1";
        alert("clcik")
    }
});

事件.目标

目标属性可以是为事件注册的元素或它的后代。将 event.target 与 this 进行比较通常很有用,以确定是否由于事件冒泡而正在处理事件。当事件冒泡时,此属性在事件委托中非常有用。

于 2012-07-30T23:05:03.050 回答