Copy veya paste olaylarından birinin sonucu olarak gönderilen olay nesnesinin
clipboardData
özelliği sayesinde, pano verilerini okuyabilir ve yazabilirsiniz.
Bir copy veya cut olayını işlerken panoya yazmak için, kopyalanacak verileri ve MIME türünü ileten
clipboardData
nesnesinin
setData()
yöntemini kullanın:
function customCopy(event){
event.clipboardData.setData("text/plain", "A copied string.");
}
Yapıştırılan verilere erişmek için, veri biçiminin MIME türünü ileten
clipboardData
nesnesinin
getData()
yöntemini kullanabilirsiniz. Kullanılabilir biçimler
types
özelliği tarafından bildirilir.
function customPaste(event){
var pastedData = event.clipboardData("text/plain");
}
getData()
yöntemine ve
types
özelliğine yalnızca
paste
olayı tarafından gönderilen olay nesnesinde erişilebilir.
Aşağıdaki örnek bir HTML sayfasında varsayılan kopyalama ve yapıştırma davranışının nasıl geçersiz kılınacağını gösterir.
copy
olay işleyicisi, kopyalanan metni italik yapar ve HTML metni olarak panoya yapıştırır.
cut
olay işleyicisi seçili verileri panoya kopyalar ve belgeden kaldırır.
paste
işleyicisi pano içeriklerini HTML olarak ekler ve eklemeyi kalın metin olarak biçimlendirir.
<html>
<head>
<title>Copy and Paste</title>
<script language="javascript" type="text/javascript">
function onCopy(event){
var selection = window.getSelection();
event.clipboardData.setData("text/html","<i>" + selection + "</i>");
event.preventDefault();
}
function onCut(event){
var selection = window.getSelection();
event.clipboardData.setData("text/html","<i>" + selection + "</i>");
var range = selection.getRangeAt(0);
range.extractContents();
event.preventDefault();
}
function onPaste(event){
var insertion = document.createElement("b");
insertion.innerHTML = event.clipboardData.getData("text/html");
var selection = window.getSelection();
var range = selection.getRangeAt(0);
range.insertNode(insertion);
event.preventDefault();
}
</script>
</head>
<body onCopy="onCopy(event)"
onPaste="onPaste(event)"
onCut="onCut(event)">
<p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium
doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore
veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam
voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur
magni dolores eos qui ratione voluptatem sequi nesciunt.</p>
</body>
</html>