2011-06-08 94 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 !!'); 
    }); 
}); 
相关问题