안녕하세요, 새로운 개발자이며 웹 사이트를 구축하려고합니다. 웹 사이트의 주요 목표는 방문자에게 텍스트를 제공하는 것입니다. 내 도우미 중 일부는 <p></p>
요소 내부의 텍스트를 복사하는 자바 스크립트를 제공했습니다 . 하지만 작동하지 않습니다. <p></p>
버튼을 클릭해도 내부 텍스트 는 복사되지 않습니다. 어쨌든 답을 알고 있다면 내 상수, 검증 가능 및 기타 값을 사용하십시오. 내 자바 스크립트
var buttons = document.getElementsByClassName('copystatus');
for (let button of buttons) {
button.addEventListener('click', function() {
let statusElement = this.closest('.latestatus');
let textToCopy = statusElement.getElementsByClassName('copytxt')[0].innerHTML;
copyTextToClipboard(textToCopy);
addCopyStatusAlert(this.parentNode);
});
}
function copyTextToClipboard(text) {
const copyText = document.createElement('textarea');
copyText.style.position="absolute";
copyText.style.display="none";
copyText.value = text;
document.body.appendChild(copyText);
copyText.select();
document.execCommand('copy');
document.body.removeChild(copyText);
}
function addCopyStatusAlert(element) {
if (!element.getElementsByClassName('status-copy-alert').length) {
let copyAlertElement = document.createElement('span');
copyAlertElement.classList.add('status-copy-alert')
let copyMessage = document.createTextNode('Copied!');
copyAlertElement.appendChild(copyMessage);
element.appendChild(copyAlertElement);
setTimeout(function() {
element.removeChild(copyAlertElement);
}, 700);
}
}
내 HTML
<div class="mainStatus">
<h2 class="statusHeading">Latest English Status</h2>
<div class="allStatus">
<div class="bock">
<div class="latestatus">
<p class="copytxt">Life is good when you have books</p>
<div>
<button class="copystatus btn">Copy</button>
</div>
</div>
<div class="latestatus">
<p class="copytxt">Google is an open source library by Larry Page and Sergey Brin!</p>
<div>
<button class="copystatus btn">Copy</button>
</div>
</div>
</div>
<div class="block">
<div class="latestatus">
<p class="copytxt">Cats are better than dogs.</p>
<div>
<button class="copystatus btn">Copy</button>
</div>
</div>
<div class="latestatus">
<p class="copytxt">Cats are better than dogs.</p>
<div>
<button class="copystatus btn">Copy</button>
</div>
</div>
</div>
</div>
</div>
<p></p>
각 버튼을 클릭 할 때 요소 내부의 텍스트를 복사 할 수 있도록 코드를 수정하십시오 .
또한 누구나 위의 코드를 수정할 수 있으므로 <p></p>
. (선택 사항)에 대해 반복적으로 클래스를 제공 할 필요가 없습니다 .
텍스트를 선택할 수 있도록 화면에 칠할 텍스트가 필요합니다. 제거 copyText.style.display="none";
하거나 다른 접근 방식으로 바꾸십시오. 예 :
copyText.style.left="-99999px";
copyText.style.zIndex="99999";
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다