jQuery DataTables - 将带有事件的 jquery 生成元素添加到表单元格中
jQuery DataTables - add jquery generated element with events to a table cell
我正在使用jQuery DataTables(http://www.datatables.net)来生成一个表。我想在某些单元格(从列中)插入一个 jquery 生成的 html 元素女巫附加了一些事件。(例如点击)。
我正在考虑 mRender,但我发现我需要返回一个字符串而不是一个对象。
这是代码:
table.dataTable({
"aoColumns": [{
"mRender":function() {
var element=$("<div></div>").on("click",function(){
alert("do something");
});
return element;
}
},
{"sWidth": "350px"}]
});
代码不起作用,因为我看到渲染的是
[对象]
我可以使用jQuery.html()
获取元素的 html 代码,但随后我将丢失附加到元素的事件。
有什么解决办法吗?这是数据表中的设计缺陷还是我遗漏了什么?
您可以通过mRender
或sDefaultContent
插入占位符元素,并在fnRowCallback
事件期间添加实际内容和事件。像这样:
table.dataTable({
"aoColumns": [{
"sDefaultContent": '<div class="stuff"></div>'
"sWidth": "350px"
}],
"fnRowCallback": function (nRow, aData, iDisplayIndex, iDisplayIndexFull) {
var element = $(nRow).find("div.stuff");
// do stuff
element.on("click",function() {
alert("do something on row: " + iDisplayIndex);
});
}
});
相关文章:
- JQuery添加元素需要在我的js之前再次添加JQuery脚本
- 如何使用jquery遍历具有动态添加元素的数组
- jQuery appendTo 替换元素而不是添加元素,如果正在添加的元素预先存在于列表中
- 如何使用jquery添加元素
- 动态添加元素上的 HammerJS
- CSS没有'使用javascript向页面动态添加元素时无法工作
- 使用Javascript在DOM元素中添加元素
- 在添加元素时激发JS事件
- 什么's是在IE8+中添加元素的最有效方法
- d3.js在添加元素时协调
- 使用路由器链接动态添加元素
- 动态添加元素
- 在页面内容完全加载后,使用jQuery在DOM中添加元素
- j查询绑定单击不添加元素
- 在循环 jQuery 上添加元素
- 从一个页面调用 javascript 函数以在第二个页面上添加元素
- 页面加载后向<正文>添加元素时出现问题
- 动态添加元素时刷新 HTML
- 动态添加元素时不触发 JQuery 事件
- 如何使用 JavaScript 获取动态添加元素的宽度