如何检查是否单击了LinkBut​​ton

时间:2012-07-30 23:02:28

标签: javascript jquery

我有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();
    }
})

}

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

2 个答案:

答案 0 :(得分:2)

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

请改为尝试:

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

答案 1 :(得分:0)

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

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

event.target

  

target属性可以是为事件注册的元素   或其后代。将event.target与之比较通常很有用   这是为了确定事件是否由于事件而被处理   冒泡。这个属性在事件委托时非常有用   事件泡沫。