Butona Tıklayarak js deki String Metni Kopyalamak
İnternetten araştırdım fakat herkes input text örnekleri ile yapmış.
Ben ise htmldeki butonuma tıklayarak javascriptdeki string metnimi kopyalamak istiyorum. Nasıl yapabilirim?
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (8)
Doğrumu anladım bilmiyorum ama işine yarayabilir.
function elementCopy(code) {
const elem = document.createElement('textarea');
elem.value = code;
document.body.appendChild(elem);
elem.select();
document.execCommand('copy');
document.body.removeChild(elem);
};
elementCopy('kopyalanan metin');
@h4ckdr0 kardeşim sen soruyu yanlış anlamışsın etiketten etikete veri aktarma değil.
Bir web sayfasından herhangi bir veriyi işletim sisteminin belleğine alıp başka uygulamalar kullanılabilir hale getirmek.
<!-- html -->
<button type="button" id="copyText">Veri'yi Getir</button>
<div id="string"></div>
<!-- copyText butonuna tıklandığında, string id'li div'in içine let message içindeki veriyi yaz -->
<!-- javascript -->
<script>
let message = "Merhaba Dünya";
let copyText = document.getElementById("copyText");
let string = document.getElementById("string");
copyText.addEventListener("click", function() {
string.innerHTML = message;
});
</script>
Bazen bana da lazım oluyor. Her zaman kullanmadığım için unutuyorum.
Hem kopyalama hem de yapıştırma.
<div>
<label for="">Kopyalanan Alan</label>
<input type="text" id="copyInput">
<button id="copy">Kopyala</button>
</div>
<div>
<label for="">Yapıştırılacak Alan</label>
<input type="text" id="pasteInput">
<button id="paste">Yapıştır</button>
</div>
<script>
// Kopyalama
$("#copy").on("click", ()=>{
navigator.clipboard.writeText($("#copyInput").val())
})
// Yapıştırma !!!İlk çalıştığı zaman kullanıcı izni gereklidir.
$("#paste").on("click", ()=>{
navigator.clipboard.readText().then(clipText => $("#pasteInput").val(clipText))
})
</script>
let btn = document.getElementById('copy')
let txt = "kopyalanan metin"
btn.addEventListener('click', () => {
let input = document.createElement('input')
input.value = txt
document.body.appendChild(input)
input.select()
input.setSelectionRange(0, 99999);
document.execCommand('copy')
input.remove()
})