Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将clipboard.js与Ajax结合使用?(数据剪贴板)_Javascript_Jquery_Ajax_Clipboard.js - Fatal编程技术网

Javascript 如何将clipboard.js与Ajax结合使用?(数据剪贴板)

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

我的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/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(); 
}