我尽力了。 Clipboard.js 使用广泛的触发器来获取
data
属性,并在页面完成加载时进行绑定。
因此,如果数据是从ajax、剪贴板获取的,则不会按照您的意愿绑定它们。
对于解决方案,这里有一个技巧。
首先,制作一个可以使用的通用复制按钮,给它一个 ID,假设我们给的是 d_clip_button_villa_XXX
。
<a style="display:none" href="javascript:void(0);"> <i class="icon-link icon-1x fa-fw" id="d_clip_button_villa_XXX" data-clipboard-text="" title="Copy direct link"> </i> </a> <script type="text/javascript"> var client = new Clipboard( document.getElementById('d_clip_button_villa_XXX') ); </script>
现在,不要制作相同的按钮,而是使用任何元素,例如
<a>
标签并提及 2 个事件 ->
<a href="#" onmouseover="copytxt('here is the text')" onclick="clkd(); return false;">copy</a>
现在创建两个函数->
function copytxt(txt){
jQuery('#d_clip_button_villa_XXX').attr('data-clipboard-text', txt);
}
function clkd(){
jQuery('#d_clip_button_villa_XXX').click();
}
这也适用于ajax