2.70版本及以上,table里面配合ClipboardJS复制没反应
我这边测试2.6.13还是正常的
从你截图中看出,你是在tool事件触发的时候去new一个ClipboardJS,那么你了解他的作用是什么吗?实际他只是给后面的传入的选择器添加一个监听,点击了可以复制你要的内容,所以,你在一个点击的事件中通过一个插件给这个节点又添加了一个事件,然后就没了,那么这样子点一次是不会有你要的效果的,这个跟版本没有关系,你说以前版本这个就很奇怪了,在你目前这个代码的情况下,点击第一次没有触发复制内容,这个时候你再点击一下试试看,应该就能明白我前面说的意思了。
https://codepen.io/sunxiaobin89/pen/abYOMJL
我是前端小白,可否直接说怎么解决,谢谢了
我回复中的测试代码中已经给出了方案,你点进去试试看是不是要的效果,然后主要看table.on(tool)中的处理,跟你自己写的对比一下看看差异,已经加了一些注释,实现的思路就是在没有经过ClipboardJS处理的时候new ClipboardJS,然后标记它已经处理过,免得下次点击又重新new ClipboardJS,处理完ClipboardJS之后等于ClipboardJS的事件已经添加到节点上了,这个时候再点击的时候就可以复制了,所以需要在里面用js触发一次点击,就可以做到第一次点击的时候先new ClipboardJS然后触发,后面每次点击,它还是会进去tool监听,只不过已经标记它处理过不需要重复处理,等于第二次以后的点击,tool不做任何事情,都交给ClipboardJS去处理了。
老版本确实使用没问题,新版本升级后确实复制失效,
我是首次进入创建了对象,复制内容是动态生成的,本着一次创建(对象),重复使用(只改变被复制的文本)的好习惯,发现升级后确实无法使用了,不知道哪里出了问题,你给出的解决方案 数据多了复制次数多了会卡顿的
感谢大佬,解决了我的问题
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
很明显绑定事件位置和顺序就错了,应该在表格数据渲染完后立即去循环#copy_key_n节点实例化ClipboardJS进行事件绑定,这样每个复制节点的对应实例clipboard绑定事件success、error才会立即生效。
题主解决了吗?我也遇到了同样的问题,2.6.8版本可以复制,2.7.3版本就不能使用了。求如何解决,谢谢了
登录 后才可以发表评论