2

我陷入了一个问题。我正在动态加载数据列表中的元素。我正在尝试使用 jquery 在列上绑定单击事件。当我使用母版页时它工作正常。因为它遵循页面生命周期并在子页面数据绑定后加载 jquery。但是当我在普通页面(没有母版页)中使用它时,它不允许我执行所需的操作。我知道为什么会这样,原因是在元素绑定之前加载了 jquery。因此 jquery 无法绑定单击事件,因为它无法找到这些控件。

绑定元素中已经有“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);
    }     
 }
4

2 回答 2

1
$(document).ready(function () {
    $('body').on('click', '.item' ,function () {
          //do something here
   });
});

$('body') 根据您的 html 使其更具体

于 2013-09-07T07:00:08.933 回答
0

我也遇到过同样的问题,这个问题真的很痛苦。

这是我的解决方案:

而不是与单击绑定创建一个函数,例如:

function reBinding()
{
      $('.item').on("click",function () {
      //do something here
      });
}

并在数据绑定完成后调用此函数。如果您使用更新面板会很好。

ScriptManager.RegisterStartupScript(rptGridAlbum.GetType, "scriptname", "reBinding();", True)
于 2013-09-07T07:19:16.070 回答