2011-06-08 36 views
3

我有一個用戶控件。它禁止LinkBut​​ton。我想使用jquery將一個單擊事件附加到LinkBut​​ton。jQuery - 爲linkBut​​ton附加事件處理程序

<%@ Control AutoEventWireup="true" CodeBehind="Pager.ascx.cs" EnableViewState="true" Inherits="Web.Controls.Pager" Language="C#" ViewStateMode="Enabled" %> 

<script type="text/javascript"> 
    $(function() { 
     eval($('#LinkButtonFirst').attr('href')).bind('click', 
     function() { 
      alert('fsfsf'); 
     }); 
    }); 
</script> 
<asp:LinkButton ID="LinkButtonFirst" runat="server" OnClick="LinkButtonFirst_Click" /> 

我遇到的第一個錯誤是Cannot call method 'bind' of undefined
但母版頁已經鏈接到jQuery的
<script src="/Scripts/jquery/jquery-1.5.1.min.js" type="text/javascript"></script>

回答

3

試試這個

$('#<%=LinkButtonObj.ClientID%>').click(function() { 
alert('Handler for .click() called.'); 
}); 
3
$(function() { 
    $('#<%= LinkButtonFirst.ClientID %>').bind('click', 
    function() { 
     alert('fsfsf'); 
    }); 
}); 
3

使用LinkButtonClientID屬性。 用戶控件中控件的ID不是作爲頁面上控件的OD計算的。 所以,你應該使用代碼:

<%@ Control AutoEventWireup="true" CodeBehind="Pager.ascx.cs" EnableViewState="true" Inherits="Web.Controls.Pager" Language="C#" ViewStateMode="Enabled" %> 
<script type="text/javascript"> 
    $(function() { 
     eval($('#<%= LinkButtonFirst.ClientID %>').attr('href')).bind('click', 
      function() { 
      alert('fsfsf'); 
      }); 
    }); 
</script> 
<asp:LinkButton ID="LinkButtonFirst" runat="server" OnClick="LinkButtonFirst_Click" /> 
0

在jQuery 1.8.0 .live.bind被棄用。嘗試使用.on附加任何事件。 這確保事件在元素可用時連接

$(function() { 
    $('[id*=LinkButtonFirst]').on('click',function() { 
     alert(' Link Button was Clicked !!'); 
    }); 
}); 
相關問題