Skip to content

Commit

Permalink
2023/04/07 時点の英語版に同期
Browse files Browse the repository at this point in the history
  • Loading branch information
mfuji09 committed Jul 27, 2023
1 parent 6b3c3f3 commit 4631876
Show file tree
Hide file tree
Showing 3 changed files with 69 additions and 56 deletions.
36 changes: 20 additions & 16 deletions files/ja/web/api/element/copy_event/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
---
title: 'Element: copy イベント'
title: "Element: copy イベント"
short-title: copy
slug: Web/API/Element/copy_event
l10n:
sourceCommit: bbf7f25f9cf95fb154e2740a9fdc9c02818981bf
---

{{APIRef}}
Expand All @@ -13,16 +16,16 @@ slug: Web/API/Element/copy_event

ただし、ハンドラーがクリップボードのデータを*読み取る*ことはできません。

[合成で](/ja/docs/Web/Events/Creating_and_triggering_events) `copy` イベントを構築して配信することもできますが、システムのクリップボードには影響を与えません。
[合成した](/ja/docs/Web/Events/Creating_and_triggering_events) `copy` イベントを構築して配信することもできますが、システムのクリップボードには影響を与えません。

## 構文

このイベント名を {{domxref("EventTarget.addEventListener", "addEventListener()")}} などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。

```js
addEventListener('copy', (event) => { });
addEventListener("copy", (event) => {});

oncopy = (event) => { };
oncopy = (event) => {};
```

## イベント型
Expand All @@ -43,24 +46,25 @@ oncopy = (event) => { };
```

```css hidden
div.source, div.target {
border: 1px solid gray;
margin: .5rem;
padding: .5rem;
height: 1rem;
background-color: #e9eef1;
div.source,
div.target {
border: 1px solid gray;
margin: 0.5rem;
padding: 0.5rem;
height: 1rem;
background-color: #e9eef1;
}
```

#### JS
#### JavaScript

```js
const source = document.querySelector('div.source');
const source = document.querySelector("div.source");

source.addEventListener('copy', (event) => {
const selection = document.getSelection();
event.clipboardData.setData('text/plain', selection.toString().toUpperCase());
event.preventDefault();
source.addEventListener("copy", (event) => {
const selection = document.getSelection();
event.clipboardData.setData("text/plain", selection.toString().toUpperCase());
event.preventDefault();
});
```

Expand Down
40 changes: 22 additions & 18 deletions files/ja/web/api/element/cut_event/index.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,35 @@
---
title: 'Element: cut イベント'
title: "Element: cut イベント"
short-title: cut
slug: Web/API/Element/cut_event
l10n:
sourceCommit: bbf7f25f9cf95fb154e2740a9fdc9c02818981bf
---

{{APIRef}}

**`cut`** イベントは、ユーザーがブラウザーのユーザーインターフェイスから「切り取り」操作を実行したときに発生します。

ユーザーが編集不可能なコンテンツに対して切り取りをしようとすると、 `cut` イベントは発生しますが、イベントオブジェクトにはデータが入りません。
ユーザーが編集不可能なコンテンツに対して切り取りをしようとすると、`cut` イベントは発生しますが、イベントオブジェクトにはデータが入りません。

イベントの既定のアクションは、(もしあれば)選択範囲をクリップボードへコピーして文書からその部分を取り除くことです。

このイベントのハンドラーは、 {{domxref("DataTransfer.setData", "setData(format, data)")}} をイベントの {{domxref("ClipboardEvent.clipboardData")}} プロパティに対して呼び出すことで、クリップボードの内容を*変更*したり、 {{domxref("Event/preventDefault", "event.preventDefault()")}} を使用して既定の動作を取り消したりすることができます。
このイベントのハンドラーは、{{domxref("DataTransfer.setData", "setData(format, data)")}} をイベントの {{domxref("ClipboardEvent.clipboardData")}} プロパティに対して呼び出すことで、クリップボードの内容を変更したり、{{domxref("Event/preventDefault", "event.preventDefault()")}} を使用して既定の動作を取り消したりすることができます。

なお、既定の動作を取り消すと、文書の更新が阻止されます。そのため、「切り取り」の既定の動作をエミュレートしたい場合は、イベントハンドラーでクリップボードを操作するとともに、文書から選択範囲を手動で取り除かなければなりません。

このハンドラーがクリップボードのデータを*読み取る*ことはできません。

[合成で](/ja/docs/Web/Events/Creating_and_triggering_events) `cut` イベントを構築して配信することもできますが、システムのクリップボードには影響を与えません。
[合成した](/ja/docs/Web/Events/Creating_and_triggering_events) `cut` イベントを構築して配信することもできますが、システムのクリップボードには影響を与えません。

## 構文

このイベント名を {{domxref("EventTarget.addEventListener", "addEventListener()")}} などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。

```js
addEventListener('cut', (event) => { });
addEventListener("cut", (event) => {});

oncut = (event) => { };
oncut = (event) => {};
```

## イベント型
Expand All @@ -47,25 +50,26 @@ oncut = (event) => { };
```

```css hidden
div.source, div.target {
border: 1px solid gray;
margin: .5rem;
padding: .5rem;
height: 1rem;
background-color: #e9eef1;
div.source,
div.target {
border: 1px solid gray;
margin: 0.5rem;
padding: 0.5rem;
height: 1rem;
background-color: #e9eef1;
}
```

#### JS

```js
const source = document.querySelector('div.source');
const source = document.querySelector("div.source");

source.addEventListener('cut', (event) => {
const selection = document.getSelection();
event.clipboardData.setData('text/plain', selection.toString().toUpperCase());
selection.deleteFromDocument();
event.preventDefault();
source.addEventListener("cut", (event) => {
const selection = document.getSelection();
event.clipboardData.setData("text/plain", selection.toString().toUpperCase());
selection.deleteFromDocument();
event.preventDefault();
});
```

Expand Down
49 changes: 27 additions & 22 deletions files/ja/web/api/element/paste_event/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
---
title: 'Element: paste イベント'
title: "Element: paste イベント"
short-title: paste
slug: Web/API/Element/paste_event
l10n:
sourceCommit: bbf7f25f9cf95fb154e2740a9fdc9c02818981bf
---

{{APIRef}}
Expand All @@ -11,18 +14,18 @@ slug: Web/API/Element/paste_event

このイベントのハンドラーは、イベントの `clipboardData` プロパティにある {{domxref("DataTransfer/getData", "getData()")}} を呼び出すことでクリップボードの中身にアクセスすることができます。

既定の動作を上書きする場合 (例えば、別なデータを挿入したりクリップボードの内容を変換したりする場合など)、イベントハンドラーで {{domxref("Event/preventDefault", "event.preventDefault()")}} を使用して既定のアクションをキャンセルした上で、必要なデータを手動で挿入してください。
既定の動作を上書きする場合例えば、別なデータを挿入したりクリップボードの内容を変換したりする場合など、イベントハンドラーで {{domxref("Event/preventDefault", "event.preventDefault()")}} を使用して既定のアクションをキャンセルした上で、必要なデータを手動で挿入してください。

[合成で](/ja/docs/Web/Events/Creating_and_triggering_events) `paste` イベントを構築して配信することができますが、文書の内容には影響しません。
[合成した](/ja/docs/Web/Events/Creating_and_triggering_events) `paste` イベントを構築して配信することができますが、文書の内容には影響しません。

## 構文

このイベント名を {{domxref("EventTarget.addEventListener", "addEventListener()")}} などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。

```js
addEventListener('paste', (event) => { });
addEventListener("paste", (event) => {});

onpaste = (event) => { };
onpaste = (event) => {};
```

## イベント型
Expand All @@ -43,29 +46,31 @@ onpaste = (event) => { };
```

```css hidden
div.source, div.target {
border: 1px solid gray;
margin: .5rem;
padding: .5rem;
height: 1rem;
background-color: #e9eef1;
div.source,
div.target {
border: 1px solid gray;
margin: 0.5rem;
padding: 0.5rem;
height: 1rem;
background-color: #e9eef1;
}
```

#### JS

```js
const target = document.querySelector('div.target');

target.addEventListener('paste', (event) => {
event.preventDefault();

let paste = (event.clipboardData || window.clipboardData).getData('text');
paste = paste.toUpperCase();
const selection = window.getSelection();
if (!selection.rangeCount) return;
selection.deleteFromDocument();
selection.getRangeAt(0).insertNode(document.createTextNode(paste));
const target = document.querySelector("div.target");

target.addEventListener("paste", (event) => {
event.preventDefault();

let paste = (event.clipboardData || window.clipboardData).getData("text");
paste = paste.toUpperCase();
const selection = window.getSelection();
if (!selection.rangeCount) return;
selection.deleteFromDocument();
selection.getRangeAt(0).insertNode(document.createTextNode(paste));
selection.collapseToEnd();
});
```

Expand Down

0 comments on commit 4631876

Please sign in to comment.