我遇到了问题。我动态地在数据列表中加载元素。我正在尝试使用jquery绑定列上的click事件。当我使用母版页时,它工作正常。因为它遵循页面生命周期并在子页面数据绑定后加载jquery。但是当我在普通页面(没有母版页)中使用它时,它不允许我执行所需的操作。我知道为什么会发生这种情况,原因是jquery在元素绑定之前被加载。所以jquery无法绑定click事件,因为它无法找到这些控件。
绑定元素已经包含“item”类
这是我的jquery代码:
$(document).ready(function () {
$('.item').click(function () {
//do something here
});
});
代码背后的代码:
protected void Page_Load(object sender, EventArgs e)
{
using (TestEntites db = new TestEntites())
{
IEnumerable<Template> Test = from t in db.Template
where t.Customer == clsuser.CustomerID
&& t.Region == user.RegionID
select t;
dlTemplateGroups.DataSource = Test;
dlTemplateGroups.DataBind();
BindTemplates(db);
}
}
答案 0 :(得分:1)
$(document).ready(function () {
$('body').on('click', '.item' ,function () {
//do something here
});
});
$(&#39; body&#39;)根据您的HTML
使其更具体答案 1 :(得分:0)
我也遇到过同样的问题,这个问题确实很痛苦。
这是我的解决方案:
而不是使用click绑定创建一个函数,例如:
function reBinding()
{
$('.item').on("click",function () {
//do something here
});
}
并在完成数据绑定后调用此函数。如果您使用更新面板将会很好。
ScriptManager.RegisterStartupScript(rptGridAlbum.GetType, "scriptname", "reBinding();", True)