#javascript #laravel-5
#javascript #laravel-5
Вопрос:
Я создал эту функцию копирования в буфер обмена. это работает в моем Laravel. Но есть некоторые проблемы. Я могу скопировать, но когда я нажимаю кнопку КОПИРОВАНИЯ, текущая страница перезагружается. Еще одна проблема заключается в том, что я хотел бы сделать классный дизайн, подобный «Клонированию с HTTPS» на Github в разделе «Использовать Git или оформить заказ с помощью SVN, используя веб-URL. » предложение на изображении маленького окна. Не могли бы вы научить меня, что не так с моим кодом, пожалуйста?
Форма Laravel находится здесь, мне нужно написать вот так, но при нажатии на копию в буфере обмена я не хочу переходить на следующую страницу
<form action="{{ url('nextpage') }}" method="post">
index.blade.php
<p><span class="js-copytext">{{$post_data['somedata']}}</span></p>
<p><button class="js-copybtn">copy</button></p>
js-файл
<script>
var copyEmailBtn = document.querySelector('.js-copybtn');
copyEmailBtn.addEventListener('click', function(event) {
var copyText = document.querySelector('.js-copytext');
var range = document.createRange();
range.selectNode(copyText);
window.getSelection().addRange(range);
try {
var successful = document.execCommand('copy');
var msg = successful ? 'successful' : 'unsuccessful';
console.log('Copy command was ' msg);
} catch(err) {
console.log('error');
}
window.getSelection().removeAllRanges();
});
</script>
Ответ №1:
Вам нужно добавить event.preventDefault()
внутри вашего обработчика.
copyEmailBtn.addEventListener('click', function(event) {
event.preventDefault();
// The rest of your code...
});
Комментарии:
1. Дорогой @Lawless, большое тебе спасибо! Это сработало. Я ценю! Сделайте мне одолжение, не могли бы вы научить меня немного большему. Могу ли я изменить дизайн копии буфера обмена github? например, просто добавить CDN?
2. @machagr добро пожаловать. Однако мне неясно, о чем вы просите дальше, потому что, если я протестирую ваш код (без Laravel), он сработает — jsfiddle.net/Lawlesss/vuf6z5r2/1
3. Дорогой @Lawless Спасибо, что ответил мне. Ваш код идеален. это работает очень хорошо. Я спрашивал совершенно разные вещи, это касается дизайна. Я хотел бы сделать дизайн, подобный «Clone with HTTPS» на github, с зеленой кнопкой и текстовым полем. Возможно, вы знаете, как изменить дизайн? итак, я спросил ^^