为了账号安全,请及时绑定邮箱和手机立即绑定

如何捕获动态数据表内元素的事件?

如何捕获动态数据表内元素的事件?

慕勒3428872 2023-10-20 10:27:06
我有一个动态数据表,其中数据由 Ajax 加载。我的 HTML 是:<table id="dynamic_table"></table>JS 是:$(document).ready(function() {        $('#dynamic_table').DataTable( {            "ajax": '/ajax_handler',            ...$('td').on('click', function(e){    alert("I'm td")});$('body').on('click', function(e){    alert("I'm body")});好吧,“body”被捕获,但“td”没有被捕获。当然,浏览器会显示带有 tr/td 标签的行,但 JS 似乎还看不到(动态)加载的数据。如何捕获动态 td 的点击次数?我怎样才能绑定它们?
查看完整描述

2 回答

?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

您遇到的问题是您的 DataTable 在绑定这些单击事件后创建 td 元素。有两种选择,在表格渲染后将所有事件监听重新绑定到 TD,或者使用事件冒泡将点击事件捕获到父组件。您可以传递一个 jQuery on()参数来告诉表侦听单击事件。


$('table').on('click', 'td', function(e){

    alert("I'm td")

});


查看完整回答
反对 回复 2023-10-20
?
函数式编程

TA贡献1807条经验 获得超9个赞

将类分配给 td 并将事件处理程序绑定到此类。

$.on('event.js-name', function(){});


查看完整回答
反对 回复 2023-10-20
  • 2 回答
  • 0 关注
  • 106 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信