我有代码片段,用户可以将其复制到他/她的网站。我使用prismjs来显示html代码。它也有复制按钮,所以用户可以复制剪贴板中的代码,它为此使用了clipboardjs。用户可以在不同的选项之间进行选择(这是类似的列表<select><option>..
),这将更新代码片段并且还应该更新剪贴板按钮的内容(这是问题)。
这是 html
<pre class="language-html">
<code id="code-example">
<!-- <div class="widget widget-BTC" data-fiat="EUR"></div> -->
</code>
</pre>
用户选择不同的选项后,内容<code id="code-example">
会更新(更新类名和data-fiat
属性)
这是更新的js代码:
let block = document.getElementById('code-example');
block.innerHTML = '<!-- <div class="widget ...';
Prism.highlightElement(block);
问题是,当我从选择列表中选择其他选项时,它会更新 html 代码片段,但是如果我单击复制按钮,它会复制旧值,而不是更新值。我尝试了不同的东西,比如这里,但仍然是同样的问题。
它需要创建另一个对象来更新值。这是解决方案:
new Clipboard('.yourButton', {
text: function(trigger) {
return '<div>some text</div>';
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句