clipboard.js Скопируйте текст в ближайшую сторону <pre>
Я использую буфер обмена JS
Я хотел бы иметь возможность скопировать мой <pre>
содержание, но не уверен, как заставить его работать с кодом внутри панели начальной загрузки
Вот пример того, что я пробовал codepen
<script type="text/javascript">
$(document).ready(function() {
var clipboard = new Clipboard('#copy-button');
clipboard.on('success', function(e) {
console.info('Action:', e.action);
console.info('Text:', e.text);
console.info('Trigger:', e.trigger);
e.clearSelection();
});
clipboard.on('error', function(e) {
console.error('Action:', e.action);
console.error('Trigger:', e.trigger);
});
});
</script>
HTML
<div class="container">
<div class="row">
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
<div class="panel panel-default">
<div class="panel-heading">
<div class="clearfix">
<div class="pull-left">
</div>
<div class="pull-right">
<button type="button" class="btn btn-default" id="copy-button">Copy</button>
</div>
</div>
</div>
<div class="panel panel-body">
<pre>
RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt)
RewriteRule ^(.*)$ /projectFolder/index.php/$1 [L]
</pre>
</div>
</div>
</div><!-- Panel-->
</div>
</div><!-- Row -->
</div>
Решение
Благодаря Natrium работает
<div class="row">
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
<div class="panel panel-default">
<div class="panel-heading">
<div class="clearfix">
<div class="pull-left">
</div>
<div class="pull-right">
<button type="button" class="btn btn-default" id="copy-button" data-clipboard-target="#foo">Copy</button>
</div>
</div>
</div>
<div class="panel panel-body">
<pre id="foo">
RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt)
RewriteRule ^(.*)$ /projectFolder/index.php/$1 [L]
</pre>
</div>
</div>
</div><!-- Panel-->
</div>
</div><!-- Row -->
скрипт
<script type="text/javascript">
$(document).ready(function() {
var clipboard = new Clipboard('#copy-button');
clipboard.on('success', function(e) {
console.info('Action:', e.action);
console.info('Text:', e.text);
console.info('Trigger:', e.trigger);
e.clearSelection();
});
clipboard.on('error', function(e) {
console.error('Action:', e.action);
console.error('Trigger:', e.trigger);
});
});
</script>
1 ответ
Решение
Прочитайте документацию на https://clipboardjs.com/ (из чего мне сказать rtfm?)
Ваша кнопка нуждается в атрибуте data-clipboard-target
где вы указываете селектор для элемента, который вы хотите скопировать.