Javascript 如何将clipboard.js与Ajax结合使用?(数据剪贴板)
我的Clipboard.js在我的测试站点上运行良好,因此我可以使用数据剪贴板进行复制Javascript 如何将clipboard.js与Ajax结合使用?(数据剪贴板),javascript,jquery,ajax,clipboard.js,Javascript,Jquery,Ajax,Clipboard.js,我的Clipboard.js在我的测试站点上运行良好,因此我可以使用数据剪贴板进行复制 <a href="#"> <i class="icon-link icon-1x fa-fw" id="d_clip_button_x" data-clipboard-text="copythistext" title="Copy direct link"></i></a> <script type="text/javascript" src="copy
<a href="#">
<i class="icon-link icon-1x fa-fw" id="d_clip_button_x" data-clipboard-text="copythistext" title="Copy direct link"></i></a>
<script type="text/javascript" src="copy/clipboard.min.js"></script>
<script type="text/javascript"> var client = new Clipboard( document.getElementById('d_clip_button_x') );</script>
var client=新剪贴板(document.getElementById('d_clip_button_x');
但是,当我有来自Ajax调用的内容时,相同的代码不再起作用。我已经阅读了一些关于如何让Ajax与Clipboard.js很好地协同工作的方法和教程,但我似乎不能完全理解它。据我所知,我需要重新触发函数,但我如何才能实现呢
谢谢。我已经尽力了。clipboard.js使用广泛的触发器获取
数据
属性,并在页面加载完成时绑定。
因此,如果数据是从ajax中提取的,剪贴板不会按您的意愿绑定它们。
对于解决方案,这里是诀窍。
首先,制作一个通用的复制按钮,给它一个ID,假设我们给的是d\u clip\u button\u villa\u 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>
这也适用于ajax您是否尝试获取
d_clip_button_x
元素的值?是的,目前工作正常。当我点击font awesome图标时,我得到了值,但是当d\u clip\u button\u x
时,相同的代码在Ajax调用中不起作用。
<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();
}