![]() | 1 Jaylee 2016-06-03 22:31:14 +08:00 请搜索“事件委托” |
![]() | 2 emric 2016-06-03 22:33:17 +08:00 事件委托 |
![]() | 3 jugelizi 2016-06-03 22:50:52 +08:00 $('table').on('click','td',function(alert(1))) |
![]() | 5 hxtheone 2016-06-04 00:49:55 +08:00 刷新 table 后重新绑定事件? |
![]() | 6 br00k 2016-06-04 10:05:12 +08:00 如果元素是动态加入的,事件绑定用$(document).on("click",".table",function(){}) |
![]() | 7 Arrowing 2016-06-04 10:31:29 +08:00 具体问题具体分析 1 、你重新改变的 html 最好不要改变到你绑定事件的元素上 2 、假如 1 没办法做到,那就重新再绑定一次事件 |
![]() | 9 shawshi 2016-06-04 12:01:12 +08:00 理论上 js 添加代码,最好使用事件委托实现,如果没有实现,请检查一下代码以及绑定的事件。只看描述,不一定能完全回答正确 |
11 sbmzhcn OP @sbmzhcn 当时不懂什么委托,但的确发现这样写,后面的 js 更改,也能监听到事件,但对于某些情况好像不行。比如我说的 datatables js. |
![]() | 13 jydeng 2016-06-04 18:50:45 +08:00 6 楼那样应该可以,事件都绑定在 document 上,更新 table 不影响的。 |
14 warjiang 2016-06-05 09:23:15 +08:00 ![]() 不要直接给每行绑定事件,直接把每行上的事件委托到 table 来执行, table 上相应事件的冒泡,做下简单判断就可以了 可以参考下这个 http://www.spotty.com.cn/archives/34/ |
15 Jakesoft 2016-06-05 13:42:49 +08:00 三楼这个可以 |