zclip是一款很好用的一键复制插件,经常被用来复制代码展示区内的代码;具体的使用方法我这里不罗嗦,只是分享一下我遇到的问题,和解决办法;
因为有这样的需求,我也在我的项目中使用了zclip插件。但发现复制按钮,有时会失灵;
问题出现的情形如下:
我上面有个查看源代码的按钮,能够使div盒子的显示和隐藏(默认隐藏),当我刚加载的时候,复制按钮没有问题,但是当我显示div盒子时,复制按钮失效了;当我刷新页面后,复制按钮再次恢复正常;
经过分析:
在div盒子显示时,复制按钮位置变化了(被div挤下去了),但是实际上原本覆盖在div上的透明flash位置并未移动(复制功能就是通过这个flash实现的);所以当我点击复制按钮的时候,并没有点击到flash;调试器查看后,发现生成flash被包含在class=“zclip”的div里面,.zclip的div定位是position:absolute;猜测是定位问题;
解决办法:在复制按钮外面再包一个标签,样式:position:relative;display:inline-block;
结果:测试后,.zclip根据我新增加的div定位,复制功能不再受其他元素影响,问题解决