From c70e588028447ef8c8c764eb5ebb0388ecf705a4 Mon Sep 17 00:00:00 2001 From: allo Date: Tue, 11 Jan 2022 15:21:12 +0800 Subject: mv to .md for `DataTransfer.clearData()` --- .../web/api/datatransfer/cleardata/index.html | 237 --------------------- .../zh-cn/web/api/datatransfer/cleardata/index.md | 237 +++++++++++++++++++++ 2 files changed, 237 insertions(+), 237 deletions(-) delete mode 100644 files/zh-cn/web/api/datatransfer/cleardata/index.html create mode 100644 files/zh-cn/web/api/datatransfer/cleardata/index.md (limited to 'files/zh-cn') diff --git a/files/zh-cn/web/api/datatransfer/cleardata/index.html b/files/zh-cn/web/api/datatransfer/cleardata/index.html deleted file mode 100644 index 66f518db63..0000000000 --- a/files/zh-cn/web/api/datatransfer/cleardata/index.html +++ /dev/null @@ -1,237 +0,0 @@ ---- -title: DataTransfer.clearData() -slug: Web/API/DataTransfer/clearData -tags: - - DataTransfer.clearData() -translation_of: Web/API/DataTransfer/clearData ---- -
{{APIRef("HTML Drag and Drop API")}}
- -

DataTransfer.clearData() 方法删除给定类型的拖动操作的{{domxref("DataTransfer","drag data")}}。如果给定类型的数据不存在,则此方法不执行任何操作。

- -

如果没有参数调用此方法,或者格式为空 ,则将删除所有类型的数据。

- -

此方法不会从拖动操作中删除文件,因此如果有任何文件包含在对象的{{domxref("DataTransfer.types")}}列表中,仍然可能有一个类型为“Files”的条目在拖动。 

- -
-

该方法只能在{{event("dragstart")}} 事件的处理程序中使用,因为这是拖动操作的数据存储只能写入的时间。

-
- -

句法

- -
DataTransfer.clearData([format]);
-
- -

参数

- -
-
format {{optional_inline}}
-
一个 {{domxref("DOMString","string")}}指定要删除的数据类型。如果此参数为空字符串或未提供,则将删除所有类型的数据。
-
- -

范例

- -

这个例子显示了使用{{domxref("DataTransfer")}}对象的{{domxref("DataTransfer.getData()","getData()")}}, {{domxref("DataTransfer.setData()","setData()")}} 和{{domxref("DataTransfer.clearData()","clearData()")}} 和

- -

HTML

- -
<span class="tweaked" id="source" draggable="true">
-  Select this element, drag it to the Drop Zone and then release the selection to move the element.
-</span>
-<span class="tweaked" id="target">Drop Zone</span>
-<div>Status: <span id="status">Drag to start</span></div>
-<div>Data is: <span id="data">uninitialized</span></div>
-
- -

CSS

- -
span.tweaked {
-  display: inline-block;
-  margin: 1em 0;
-  padding: 1em 2em;
-}
-
-#source {
-  color: blue;
-  border: 1px solid black;
-}
-
-#target {
-  border: 1px solid black;
-}
-
- -

JavaScript

- -
window.addEventListener('DOMContentLoaded', function () {
-  // Select HTML elements
-  var draggable = document.getElementById('source');
-  var dropable = document.getElementById('target');
-  var status = document.getElementById('status');
-  var data = document.getElementById('data');
-  var dropped = false;
-
-  // Register event handlers
-  draggable.addEventListener('dragstart', dragStartHandler);
-  draggable.addEventListener('dragend', dragEndHandler);
-  dropable.addEventListener('dragover', dragOverHandler);
-  dropable.addEventListener('dragleave', dragLeaveHandler);
-  dropable.addEventListener('drop', dropHandler);
-
-  function dragStartHandler (event) {
-    status.innerHTML = 'Drag in process';
-
-    // Change target element's border to signify drag has started
-    event.currentTarget.style.border = '1px dashed blue';
-
-    // Start by clearing existing clipboards; this will affect all types since we
-    // don't give a specific type.
-
-    event.dataTransfer.clearData();
-
-    // Set the drag's format and data (use event target's id for data)
-    event.dataTransfer.setData('text/plain', event.target.id);
-
-    data.innerHTML = event.dataTransfer.getData('text/plain');
-  }
-
-  function dragEndHandler (event) {
-    if (!dropped) {
-      status.innerHTML = 'Drag canceled';
-    }
-
-    data.innerHTML = event.dataTransfer.getData('text/plain') || 'empty';
-
-    // Change border to signify drag is no longer in process
-    event.currentTarget.style.border = '1px solid black';
-
-    if (dropped) {
-      // Remove all event listeners
-      draggable.removeEventListener('dragstart', dragStartHandler);
-      draggable.removeEventListener('dragend', dragEndHandler);
-      dropable.removeEventListener('dragover', dragOverHandler);
-      dropable.removeEventListener('dragleave', dragLeaveHandler);
-      dropable.removeEventListener('drop', dropHandler);
-    }
-  }
-
-  function dragOverHandler (event) {
-    status.innerHTML = 'Drop available';
-
-    event.preventDefault();
-  }
-
-  function dragLeaveHandler (event) {
-    status.innerHTML = 'Drag in process (drop was available)';
-
-    event.preventDefault();
-  }
-
-  function dropHandler (event) {
-    dropped = true;
-
-    status.innerHTML = 'Drop done';
-
-    event.preventDefault();
-
-    // Get data linked to event format « text »
-    var _data = event.dataTransfer.getData('text/plain');
-    var element = document.getElementById(_data);
-
-    // Append drag source element to event's target element
-    event.target.appendChild(element);
-
-    // Change CSS styles and displayed text
-    element.style.cssText = 'border: 1px solid black;display: block; color: red';
-    element.innerHTML = "I'm in the Drop Zone!";
-  }
-})
-
- -

{{EmbedLiveSample('Example', 300, 250)}}

- -

规范

- - - - - - - - - - - - - - - - - - - -
SpecificationStatusComment
{{SpecName('HTML WHATWG', 'interaction.html#dom-datatransfer-cleardata','DataTransfer.clearData()')}}{{Spec2('HTML WHATWG')}} 
{{SpecName('HTML5.1', 'editing.html#dom-datatransfer-cleardata','DataTransfer.clearData()')}}{{Spec2('HTML5.1')}}Initial definition
- -

浏览器兼容性

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - - - -
FeatureChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Basic support4{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.9.1")}}10123.1
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
FeatureAndroidAndroid WebviewChrome for AndroidEdgeFirefox Mobile (Gecko)Firefox OSIE MobileOpera MobileSafari Mobile
Basic support{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}{{CompatNo}}{{CompatIE("10")}}{{CompatNo}}{{CompatNo}}
-
- -

也可以看看

- -

{{page("/en-US/docs/Web/API/DataTransfer", "See also")}}

diff --git a/files/zh-cn/web/api/datatransfer/cleardata/index.md b/files/zh-cn/web/api/datatransfer/cleardata/index.md new file mode 100644 index 0000000000..66f518db63 --- /dev/null +++ b/files/zh-cn/web/api/datatransfer/cleardata/index.md @@ -0,0 +1,237 @@ +--- +title: DataTransfer.clearData() +slug: Web/API/DataTransfer/clearData +tags: + - DataTransfer.clearData() +translation_of: Web/API/DataTransfer/clearData +--- +
{{APIRef("HTML Drag and Drop API")}}
+ +

DataTransfer.clearData() 方法删除给定类型的拖动操作的{{domxref("DataTransfer","drag data")}}。如果给定类型的数据不存在,则此方法不执行任何操作。

+ +

如果没有参数调用此方法,或者格式为空 ,则将删除所有类型的数据。

+ +

此方法不会从拖动操作中删除文件,因此如果有任何文件包含在对象的{{domxref("DataTransfer.types")}}列表中,仍然可能有一个类型为“Files”的条目在拖动。 

+ +
+

该方法只能在{{event("dragstart")}} 事件的处理程序中使用,因为这是拖动操作的数据存储只能写入的时间。

+
+ +

句法

+ +
DataTransfer.clearData([format]);
+
+ +

参数

+ +
+
format {{optional_inline}}
+
一个 {{domxref("DOMString","string")}}指定要删除的数据类型。如果此参数为空字符串或未提供,则将删除所有类型的数据。
+
+ +

范例

+ +

这个例子显示了使用{{domxref("DataTransfer")}}对象的{{domxref("DataTransfer.getData()","getData()")}}, {{domxref("DataTransfer.setData()","setData()")}} 和{{domxref("DataTransfer.clearData()","clearData()")}} 和

+ +

HTML

+ +
<span class="tweaked" id="source" draggable="true">
+  Select this element, drag it to the Drop Zone and then release the selection to move the element.
+</span>
+<span class="tweaked" id="target">Drop Zone</span>
+<div>Status: <span id="status">Drag to start</span></div>
+<div>Data is: <span id="data">uninitialized</span></div>
+
+ +

CSS

+ +
span.tweaked {
+  display: inline-block;
+  margin: 1em 0;
+  padding: 1em 2em;
+}
+
+#source {
+  color: blue;
+  border: 1px solid black;
+}
+
+#target {
+  border: 1px solid black;
+}
+
+ +

JavaScript

+ +
window.addEventListener('DOMContentLoaded', function () {
+  // Select HTML elements
+  var draggable = document.getElementById('source');
+  var dropable = document.getElementById('target');
+  var status = document.getElementById('status');
+  var data = document.getElementById('data');
+  var dropped = false;
+
+  // Register event handlers
+  draggable.addEventListener('dragstart', dragStartHandler);
+  draggable.addEventListener('dragend', dragEndHandler);
+  dropable.addEventListener('dragover', dragOverHandler);
+  dropable.addEventListener('dragleave', dragLeaveHandler);
+  dropable.addEventListener('drop', dropHandler);
+
+  function dragStartHandler (event) {
+    status.innerHTML = 'Drag in process';
+
+    // Change target element's border to signify drag has started
+    event.currentTarget.style.border = '1px dashed blue';
+
+    // Start by clearing existing clipboards; this will affect all types since we
+    // don't give a specific type.
+
+    event.dataTransfer.clearData();
+
+    // Set the drag's format and data (use event target's id for data)
+    event.dataTransfer.setData('text/plain', event.target.id);
+
+    data.innerHTML = event.dataTransfer.getData('text/plain');
+  }
+
+  function dragEndHandler (event) {
+    if (!dropped) {
+      status.innerHTML = 'Drag canceled';
+    }
+
+    data.innerHTML = event.dataTransfer.getData('text/plain') || 'empty';
+
+    // Change border to signify drag is no longer in process
+    event.currentTarget.style.border = '1px solid black';
+
+    if (dropped) {
+      // Remove all event listeners
+      draggable.removeEventListener('dragstart', dragStartHandler);
+      draggable.removeEventListener('dragend', dragEndHandler);
+      dropable.removeEventListener('dragover', dragOverHandler);
+      dropable.removeEventListener('dragleave', dragLeaveHandler);
+      dropable.removeEventListener('drop', dropHandler);
+    }
+  }
+
+  function dragOverHandler (event) {
+    status.innerHTML = 'Drop available';
+
+    event.preventDefault();
+  }
+
+  function dragLeaveHandler (event) {
+    status.innerHTML = 'Drag in process (drop was available)';
+
+    event.preventDefault();
+  }
+
+  function dropHandler (event) {
+    dropped = true;
+
+    status.innerHTML = 'Drop done';
+
+    event.preventDefault();
+
+    // Get data linked to event format « text »
+    var _data = event.dataTransfer.getData('text/plain');
+    var element = document.getElementById(_data);
+
+    // Append drag source element to event's target element
+    event.target.appendChild(element);
+
+    // Change CSS styles and displayed text
+    element.style.cssText = 'border: 1px solid black;display: block; color: red';
+    element.innerHTML = "I'm in the Drop Zone!";
+  }
+})
+
+ +

{{EmbedLiveSample('Example', 300, 250)}}

+ +

规范

+ + + + + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('HTML WHATWG', 'interaction.html#dom-datatransfer-cleardata','DataTransfer.clearData()')}}{{Spec2('HTML WHATWG')}} 
{{SpecName('HTML5.1', 'editing.html#dom-datatransfer-cleardata','DataTransfer.clearData()')}}{{Spec2('HTML5.1')}}Initial definition
+ +

浏览器兼容性

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
FeatureChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Basic support4{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.9.1")}}10123.1
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureAndroidAndroid WebviewChrome for AndroidEdgeFirefox Mobile (Gecko)Firefox OSIE MobileOpera MobileSafari Mobile
Basic support{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}{{CompatNo}}{{CompatIE("10")}}{{CompatNo}}{{CompatNo}}
+
+ +

也可以看看

+ +

{{page("/en-US/docs/Web/API/DataTransfer", "See also")}}

-- cgit v1.2.3-54-g00ecf