使用 jquery 将客户端事件绑定到动态数据列表项
Binding client side event to dyanamic datalist items using jquery
我陷入了一个问题。我正在动态加载数据列表中的元素。我正在尝试使用 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);
}
}
$(document).ready(function () {
$('body').on('click', '.item' ,function () {
//do something here
});
});
$('body') 根据您的 html 使其更具体
我也曾经遇到过同样的问题,这个问题真的很痛苦。
这是我的解决方案:
而不是使用单击绑定,例如创建一个函数:
function reBinding()
{
$('.item').on("click",function () {
//do something here
});
}
并在数据绑定完成后调用此函数。 如果您使用的是更新面板,那就太好了。
ScriptManager.RegisterStartupScript(rptGridAlbum.GetType, "scriptname", "reBinding();", True)
相关文章:
- 如何在没有ajax的情况下将javascript动态数据发送到php变量
- 从要使用Protractor测试的服务器异步加载的动态数据列表的列表
- 不适用于动态数据的Angular指令来自$http
- 如何在字符串中的值之前删除字符串中的动态数据?/ 使用 Lodash 的 _.trimStart 与动态数据
- 剑道数据源,将动态数据发送到服务器
- 无限滚动,动态数据按上次修改状态排序
- 如何在高图表中设置动态数据
- 使用Select2和Meteor.js进行动态数据采集
- 谷歌图表与动态数据和分页是可能的
- 使用AngularJs在自定义TinyMCE编辑器中添加动态数据
- 如何为jQuery帖子输入动态数据参数
- 将不同的符号添加到具有动态数据的高图表中
- Aurelia@儿童动态数据
- 从动态数据生成AngularJS UI模板
- 我可以将初始动态数据从基于RESTful api的服务器端传递到基于角度的前端页面吗
- d3.js带有标签的动态数据
- 将sessionStorage(JSON)中的动态数据附加到Listview中
- 如何使用Javascript在html源中添加动态数据
- 试图在网站上抓取谷歌地图api生成的动态数据,但正常抓取返回空白
- 从angularjs中的$scope在$http.post中发送动态数据