jQuery MiniUI

 找回密码
 立即注册
查看: 309|回复: 5

datagrid的事件是否有办法重写? [复制链接]

Rank: 3Rank: 3

发表于 2022-6-13 11:07:56 |显示全部楼层
datagrid的事件有办法重写吗?现在的情况是有一个全局的事件xx.on('headercellclick', function(e) {if(e.column.name=='action'){addRow('null', 'null');}});
但不想通过修改这个全局事件的方式去添加特例情况,例如在某些业务下,点击表头的action列,不需要触发addRow方法。
我在此业务自己的js中通过这样的方式xx.on('headercellclick', function(e) {if(e.column.name=='action'){//addRow('null', 'null');}});还是会触发addRow方法没有产生效果,我也试过xx.un('headercellclick');方式去解绑,也没有效果

Rank: 8Rank: 8

发表于 2022-6-13 14:54:50 |显示全部楼层
事件解绑只能通过函数名解绑
xx.un("headercellclick",fn)
你这里不需要生效的表格比如可以给个特殊自定义属性,不需要的话就设置一下,事件处理里面判断下有没有这个属性。

Rank: 3Rank: 3

发表于 2022-6-13 15:51:26 |显示全部楼层
felt 发表于 2022-6-13 14:54
事件解绑只能通过函数名解绑
xx.un("headercellclick",fn)
你这里不需要生效的表格比如可以给个特殊自定义 ...

我看了页面的datagrid是通过on绑定function的,那un在什么时候可以调用生效?我在页面初始化方法,drawcell、update、load事件中都试了,un绑定function里的打印都没有被触发。

Rank: 8Rank: 8

发表于 2022-6-13 16:09:23 |显示全部楼层
asd1122 发表于 2022-6-13 15:51
我看了页面的datagrid是通过on绑定function的,那un在什么时候可以调用生效?我在页面初始化方法,drawce ...

只能是函数名,不支持匿名函数。

Rank: 3Rank: 3

发表于 2022-6-13 16:16:31 |显示全部楼层
felt 发表于 2022-6-13 16:09
只能是函数名,不支持匿名函数。

意思是xxx.on("headercellclick",function(e){addRow()});不能通过xxx.un("headercellclick",fn)的方式去解绑?

Rank: 8Rank: 8

发表于 2022-6-13 18:07:05 |显示全部楼层
asd1122 发表于 2022-6-13 16:16
意思是xxx.on("headercellclick",function(e){addRow()});不能通过xxx.un("headercellclick",fn)的方式去 ...

是的。

Archiver|普加软件

GMT+8, 2022-8-13 04:45 , Processed in 0.028885 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部