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>