在我的项目中,基于数据库值在页面加载时创建动态控件。现在我需要在asp:label
中为jquery
添加点击事件,所以我尝试了这样。
ASP.NET
xShowVersion.Style(HtmlTextWriterStyle.Top) = xTop & "px"
xShowVersion.Style.Add(HtmlTextWriterStyle.Height, "40px")
xShowVersion.Style.Add(HtmlTextWriterStyle.Width, "480px")
xShowVersion.Style.Add(HtmlTextWriterStyle.Position, "absolute")
xShowVersion.Style.Add(HtmlTextWriterStyle.Left, "20px")
Dim xlblShow As New Label
xlblShow.Attributes("class") = "downlnkdetails"
xlblShow.Text = "<h2>Show Older Versions<h2>"
xShowVersion.Controls.Add(xlblShow)
DivLeftVersion.Controls.Add(xShowVersion)
JS
<script language="javascript" type="text/javascript">
$(document).ready(function() {
BindButtonClickEvent();
});
function BindButtonClickEvent() {
$('#<%= xlblShow.ClientID %>').click(function() {
alert('Hai');
return false;
});
}
</script>
但它的显示错误。如何为jquery
中的asp标签或任何其他控件编写事件?
am使用 Asp.Net 2008
答案 0 :(得分:1)
对于动态添加的内容,您需要在代码段下方使用
$(document).on('click', '#ID' , function(e){
alert('clicked');
});
答案 1 :(得分:0)
这样做的一个简单方法是创建一个jQuery事件处理程序,它可以连接到添加到DOM的任何未来元素:
$( document ).on( "click", "h2", function() {
alert( "Button Clicked!" )
});
您可以在jQuery.on()文档中详细了解相关内容。第二个参数是标准的jQuery选择器,因此可以通过class
,id
,element type
等进行定位。