clipboardData object
[This documentation is preliminary and is subject to change.]
Provides access to predefined clipboard formats for use in editing operations.
Standards information
There are no standards that apply here.
Remarks
The clipboardData object is reserved for editing actions performed through the Edit menu, shortcut menus, and shortcut keys. It transfers information using the system clipboard, and retains it until data from the next editing operation replaces it. This form of data transfer is particularly suited to multiple pastes of the same data.
This object is available in script as of Microsoft Internet Explorer 5.
Examples
This example uses the setData and getData methods with the clipboardData object to perform a cut-and-paste operation through the shortcut menu.
Code example: http://samples.msdn.microsoft.com/workshop/samples/author/dhtml/refs/clipboardDataEX.htm
<HTML>
<HEAD>
<SCRIPT>
var bResult;
// Select the text to be cut. Trailing spaces in a text
// selection in cut events cause the Cut shortcut menu item to
// remain disabled.
function fnLoad() {
var r = document.body.createTextRange();
r.findText(oSource.innerText);
r.select();
}
// Enable the Cut shortcut menu item over the DIV. Cut is disabled by default.
// Once Cut is enabled, Internet Explorer automatically copies the data to the
// clipboard and removes the selected text from the document.
function fnBeforeCut() {
event.returnValue = false;
}
//Assign data in text format to the window.clipboardData object.
//Display the result (Boolean) from the setData method in the input box below.
function fnCut(){
event.returnValue = false;
bResult = window.clipboardData.setData("Text",oSource.innerText);
oSource.innerText = "";
tText.innerText += bResult;
}
// Enable the Paste shortcut menu item over the DIV. Paste is disabled by default.
function fnBeforePaste() {
event.returnValue = false;
}
// Cancel the returnValue in onpaste for the text input, which
// has a default behavior.
function fnPaste() {
event.returnValue = false;
oTarget.innerText = window.clipboardData.getData("Text");
}
</SCRIPT>
</HEAD>
<BODY onload="fnLoad()" TOPMARGIN=0 LEFTMARGIN=0 BGPROPERTIES="fixed" BGCOLOR="#FFFFFF"
LINK="#000000" VLINK="#808080" ALINK="#000000">
<DIV CLASS="clsSource" ID="oSource" onbeforecut="fnBeforeCut()" oncut="fnCut()">
Select and cut this text
</DIV>
<DIV CLASS="clsTarget" ID="oTarget" onbeforepaste="fnBeforePaste()" onpaste="fnPaste()">
Paste the Text Here
</DIV><BR>
<SPAN CLASS="clsData">setData Result: </SPAN>
<INPUT CLASS="clsText" ID="tText" TYPE="text" READONLY VALUE="" SIZE="6" TABINDEX="-1">
</BODY>
</HTML>
See also
Build date: 2/14/2012
- 12/21/2010
- Mr. Raymond Kenneth Petry
Underlying HTML
is inaccessible in the getData method: contenteditable converts newlines to trivial <BR>|<P></P>...
(This is why onpaste=...getData... is 20x faster than the browser-menu-Edit-Paste 1 min./MB.)
(N.B. The execCommand("paste") method does access the underlying HTML, but also invokes the onpaste event; whereas the pasteHTML(...) method does-not invoke.)
Source context is inaccessible in the getData method: It doesn't know whether the source is the same document, or external.
(PS. Also note that MSIE 7 becomes reluctant at 1.5MB of DHTML element data, failing drag-selection of text, drag-and-drop move-text,...)
- 8/21/2008
- Mr. Raymond Kenneth Petry
- 7/2/2009
- Mr. Raymond Kenneth Petry
There's no apparent documentation on the clipBoard readyState:--
Tell your Web-Users to "WATCH FOR LATE COPY-DATA IF THE CLIPBOARD IS BIG...".
But, There's no apparent documentation for a clipBoard onready event...
- 7/25/2008
- Mr. Raymond Kenneth Petry
- 5/4/2009
- Thomas Lee