recursal/MDN huggingface dataset:
DocumentFragment.querySelectorAll()
===================================

La méthode **`DocumentFragment.querySelectorAll()`** renvoie une `NodeList` (*liste de noeuds*) des éléments du `DocumentFragment` (en utilisant la traversée en profondeur des noeuds du document), qui correspondent avec le groupe spécifié de sélecteurs.

Si les sélecteurs spécifiés dans paramètre sont invalides une `DOMException` avec une valeur `SYNTAX_ERR` est lancée.

**Note :** La définition de cet API a été déplacé vers l'interface `ParentNode`.

Syntaxe
-------


```js
elementList = documentframgment.querySelectorAll(selectors);
```

### Paramètres

*selectors*

est une `DOMString` (*chaîne de caractères*) contenant un ou plusieurs sélecteurs CSS séparés par des virgules.

Exemples
--------

Cet exemple renvoie une liste de tous les éléments `div` du `DocumentFragment` avec une classe soit "`note`" soit "`alert`" :


```js
var matches = documentfrag.querySelectorAll("div.note, div.alert");
```

Spécifications
--------------

| Specification |
| --- |
| DOM Standard # ref-for-dom-parentnode-queryselectorall① |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* L'interface `DocumentFragment` à laquelle elle appartient.
DocumentFragment()
==================

**Expérimental:** **Cette fonction est expérimentale**  
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.  
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.

Le constructeur **`DocumentFragment()`** renvoie un nouvel objet `DocumentFragment` créé vide.

Syntaxe
-------


```js
fragment = new DocumentFragment();
```

Exemple
-------


```js
fragment = new DocumentFragment();
```

Spécifications
--------------

| Specification |
| --- |
| DOM Standard # ref-for-dom-documentfragment-documentfragment① |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* L'index des interfaces du DOM.
DocumentFragment.querySelector()
================================

La méthode **`DocumentFragment.querySelector()`** renvoie le premier élément ou `null` si aucune correspondance n'est trouvée, dans le `DocumentFragment` (en utilisant la traversée en profondeur des noeuds du document), avec le groupe spécifié de sélecteurs.

Si le sélecteur correspond à un ID (*identifiant*) et que cet ID est utilisé plusieurs fois par erreur dans le document, il renvoie le premier élément correspondant.

Si les sélecteurs spécifiés dans paramètre sont invalides une `DOMException` avec une valeur `SYNTAX_ERR` est lancée.

Syntaxe
-------


```js
element = documentfragment.querySelector(selectors);
```

### Paramètres

*selectors*

est une `DOMString` (*chaîne de caractères*) contenant un ou plusieurs sélecteurs CSS séparés par des virgules.

Exemples
--------

### Exemple de base

Dans cet exemple de base, le premier élément dans le `DocumentFragment` avec la classe "`myclass`" est renvoyé :


```js
var el = documentfragment.querySelector(".myclass");
```

### Syntaxe CSS et argument de la méthode

L'argument chaîne transmis à `querySelector` doit suivre la syntaxe CSS. Pour faire correspondre un identifiant ou des sélecteurs qui ne suivent pas la syntaxe CSS (utilisant un point-virgule ou un espace inappropriés par exemple), il est obligatoire d'échapper les mauvais caractères avec une double barre oblique inverse :


```html
<div id="foo\bar"></div>
<div id="foo:bar"></div>

<script>
 document.querySelector("#foo\bar"); // Ne correspond à rien
 document.querySelector("#foo\\\\bar"); // Correspond au premier div
 document.querySelector("#foo:bar"); // Ne correspond à rien
 document.querySelector("#foo\\:bar"); // Correspond au second div
</script>
```

Spécifications
--------------

| Specification |
| --- |
| DOM Standard # ref-for-dom-parentnode-queryselector① |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* L'interface `DocumentFragment` à laquelle elle appartient.
HTMLTimeElement.dateTime
========================

La propriété **`HTMLTimeElement.dateTime`** est une `DOMString` qui reflète l'attribut HTML `datetime`, contenant une date et une heure interprétable par un ordinateur.
Le format de la chaîne de caractères doit correspondre à l'une des micro-syntaxes HTML suivantes:

| Microsyntaxe | Description | Exemples |
| --- | --- | --- |
| Mois | *AAAA*`-`*MM* | `2011-11`, `2013-05` |
| Date | *`AAAA`*`-`*MM*`-`*DD* | `1887-12-01` |
| Date sans l'année | *MM*`-`*DD* | `11-12` |
| Heure | *HH*`:`*MM**HH*`:`*MM*`:`*SS**HH*`:`*MM*`:`*SS*`.`*mmm* | `23:59``12:15:47``12:15:52.998` |
| Date et heure locale | *AAAA*`-`*MM*`-`*DD*
*HH*`:`*MM**AAAA*`-`*MM*`-`*DD* *HH*`:`*MM*`:`*SS**AAAA*`-`*MM*`-`*DD* *HH*`:`*MM*`:`*SS`.`*mmm***AAAA*`-`*MM*`-`*DD*`T`*HH*`:`*MM**AAAA*`-`*MM*`-`*DD*`T`*HH*`:`*MM*`:`*SS**AAAA*`-`*MM*`-`*DD*`T`*HH*`:`*MM*`:`*SS`.`*mmm** | `2013-12-25 11:121972-07-25 13:43:071941-03-15
07:06:23.6782013-12-25T11:121972-07-25T13:43:071941-03-15T07:06:23.678` |
| Décalage horaire | `Z``+`*HHMM`+`**HH*`:`*MM**`-`*HHMM`-`**HH*`:`*MM** | `Z+0200+04:30-0300-08:00` |
| date et heure globale | *N'importe quelle combinaison de date et d'heure locale suivie d'un
décalage horaire* | `2013-12-25 11:12+02001972-07-25 13:43:07+04:301941-03-15
07:06:23.678Z2013-12-25T11:12-08:00` |
| Semaine | *AAAA*`-W`*WW* | `2013-W46` |
| Quatre ou plus chiffres ASCII | *AAAA* | `2013`, `0001` |
| Durée | `P`*d*`D``T`*h*`H`*m*`M`*s*`S``P`*d*`D``T`*h*`H`*m*`M`*s*`.`X`S``P`*d*`D``T`*h*`H`*m*`M`*s*`.`XX`S``P`*d*`D``T`*h*`H`*m*`M`*s*`.`XXX`S``P``T`*h*`H`*m*`M`*s*`S``P``T`*h*`H`*m*`M`*s*`.`X`S``P``T`*h*`H`*m*`M`*s*`.`XX`S``P``T`*h*`H`*m*`M`*s*`.`XXX`S`*w*`w` *d*`d` *h*`h` *m*`m` *s*`s` | `P12DT7H12M13SP12DT7H12M13.3SP12DT7H12M13.45SP12DT7H12M13.455SPT7H12M13SPT7H12M13.2SPT7H12M13.56SPT7H12M13.999S7d
5h 24m 13s` |

Syntaxe
-------


```js
dateTimeString = timeElt.dateTime;
timeElt.dateTime = dateTimeString;
```

Exemple
-------


```js
// Supposons qu'il y ai un élément <time id="t"> dans le HTML

var t = document.getElementById("t");
t.dateTime = "6w 5h 34m 5s";
```

Spécifications
--------------

| Specification |
| --- |
| HTML Standard # dom-time-datetime |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* L'interface `HTMLTimeElement` dont cette propriété appartient.
IDBRequest.source
=================

La propriété **`source`** est une propriété en lecture seule, rattachée à l'interface `IDBRequest`, et qui indique la source de la requête (c'est-à-dire l'index ou le magasin d'objets utilisé). Si aucune source n'existe (par exemple car on a appelé `indexedDB.open`), la propriété vaut `null`.

**Note:** Cette fonctionnalité est disponible via les Web Workers

Syntaxe
-------


```js
var IDBIndex = request.source;
var IDBCursor = request.source;
var IDBObjectStore = request.source;
```

### Valeur

Un objet qui représente la source de la requête. Ce peut être un objet `IDBIndex`, `IDBObjectStore` ou un objet `IDBCursor`.

Exemples
--------

Dans l'exemple qui suit, on récupère un enregistrement avec un titre donné depuis un magasin d'objets. Ensuite, on met à jour une des propriétés de cet enregistrement et on met à jour le magasin d'objets en insérant cet objet modifié. Lors de cette deuxième requête, on affiche la source dans la console. Pour consulter un exemple fonctionnel complet, vous pouvez vous référer à notre application To-do Notifications (cf. l'exemple *live*).


```js
var title = "Walk dog";

// On ouvre une transaction
var objectStore = db
  .transaction(["toDoList"], "readwrite")
  .objectStore("toDoList");

// On fait une requête pour récupérer
// l'enregistrement qui possède le titre
// souhaité
var objectStoreTitleRequest = objectStore.get(title);

objectStoreTitleRequest.onsuccess = function () {
  // On récupère l'objet afin de le modifier
  var data = objectStoreTitleRequest.result;

  // On met à jour la propriété notified
  // avec la valeur "yes"
  data.notified = "yes";

  // On crée une autre requête pour replacer
  // l'enregistrement modifié dans la base de d
  // données
  var updateTitleRequest = objectStore.put(data);

  // Ici, on affiche la source de la requête dans
  // la console
  console.log("La source de cette requête est " + updateTitlerequest.source);
  // Quand cette deuxième requête sera appliquée,
  // on lancera displayData() pour mettre à jour
  // l'affichage
  updateTitleRequest.onsuccess = function () {
    displayData();
  };
};
```

Spécifications
--------------

| Specification |
| --- |
| Indexed Database API 3.0 # ref-for-dom-idbrequest-source① |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* Manipuler IndexedDB
* Démarrer des transactions : `IDBDatabase`
* Manipuler des transactions : `IDBTransaction`
* Définir un intervalle de clés : `IDBKeyRange`
* Récupérer des données et les modifier : `IDBObjectStore`
* Manipuler des curseurs : `IDBCursor`
* Exemple de référence pour IndexedDB : To-do Notifications
IDBRequest.onerror
==================

le gestionnaire d'événement **`onerror`** de l'interface `IDBRequest` capte l'événement `error`, déclenché quand une requête renvoie une erreur.

Le gestionnaire d'événement reçoit l'événement error avec le type="error" en paramètre.

**Note:** Cette fonctionnalité est disponible via les Web Workers

Syntaxe
-------


```js
request.onerror = function( event ) { ... };
```

Exemple
-------

L'exemple suivant demande un titre d'enregistrement donné, `onsuccess` obtient l'enregistrement associé au `magasin d'objets` (mis à disposition en tant que `objectStoreTitleRequest.result`), on met à jour une propriété de l'enregistrement, puis le sauve dans le magasin d'objets. En bas le gestionnaire d'événement `onerror` affiche le code d'erreur si la `requête` échoue. Pour un exemple de travail complet, voir notre To-do Notifications app (view example live).


```js
var title = "Walk dog";

// Ouvrez une transaction comme d'habitude
var objectStore = db
  .transaction(["toDoList"], "readwrite")
  .objectStore("toDoList");

// Obtenez l'objet toDoList qui a ce titre
var objectStoreTitleRequest = objectStore.get(title);

objectStoreTitleRequest.onsuccess = function () {
  // Prenez l'objet de données renvoyé comme résultat
  var data = objectStoreTitleRequest.result;

  // Mettre à jour la valeur notified de l'objet à "yes"
  data.notified = "yes";

  // Créer une autre requête qui insère le nouvelle élément dans la base de données
  var updateTitleRequest = objectStore.put(data);

  // Lorsque cette requête réussit, appelle de la fonction displayData() pour mettre à jour l'affichage
  updateTitleRequest.onsuccess = function () {
    displayData();
  };
};

objectStoreTitleRequest.onerror = function () {
  // Si une erreur se produit à la demande, on l'affiche
  console.log(
    "Il y a eu une erreur dans la récupération des données: " +
      objectStoreTitleRequest.error,
  );
};
```

Spécifications
--------------

| Specification |
| --- |
| Indexed Database API 3.0 # eventdef-idbrequest-error |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* Using IndexedDB
* Error Event
* Starting transactions: `IDBDatabase`
* Using transactions: `IDBTransaction`
* Setting a range of keys: `IDBKeyRange`
* Retrieving and making changes to your data: `IDBObjectStore`
* Using cursors: `IDBCursor`
* Reference example: To-do Notifications (view example live.)
IDBRequest.readyState
=====================

La propriété **`readyState`**, rattachée à l'interface `IDBRequest`, est une propriété en lecture seule qui indique l'état de la requête.

Chaque requête démarre avec l'état `pending` (c'est-à-dire en attente). Cet état vaut ensuite `done` (fini) lorsque la requête est terminée (en cas de réussite de l'opération comme en cas d'échec).

**Note:** Cette fonctionnalité est disponible via les Web Workers

Syntaxe
-------


```js
var currentReadyState = request.readyState;
```

### Valeur

La valeur `IDBRequestReadyState` de la requête, qui peut être l'un de deux valeurs. `pending` lorsque la requête est en attente, `done` lorsque celle-ci est finie.

Exemples
--------

Dans l'exemple qui suit, on effectue une requête sur un enregistrement avec un titre donné et on recupère l'enregistrement associé grâce au gestionnaire d'évènement `onsuccess` à partir du magasin d'objets `IDBObjectStore`. Ensuite, on met à jour une des propriétés de cet enregistrement et on replace cet objet mis à jour dans le magasin d'objets via une autre requête. La valeur de la propriété `readyState` pour la deuxième requête est affichée dans la console. Pour consulter un exemple fonctionnel complet, vous pouvez vous référer à notre appliction To-do Notifications (cf. également l'exemple *live*).


```js
var title = "Walk dog";

// On ouvre une transaction
var objectStore = db
  .transaction(["toDoList"], "readwrite")
  .objectStore("toDoList");

// On récupère l'enregistrement avec le titre souhaité
var objectStoreTitleRequest = objectStore.get(title);

objectStoreTitleRequest.onsuccess = function () {
  // On récupère les données du résultat de la requête
  var data = objectStoreTitleRequest.result;

  // On met à jour la propriété notified de l'objet
  // avec la valeur "yes"
  data.notified = "yes";

  // Ensuite, on crée une autre requête pour insérer
  // l'enregistrement dans la base de données
  var updateTitleRequest = objectStore.put(data);

  // On affiche l'état de la requête dans la console
  console.log("La valeur de readyState est " + updateTitlerequest.readyState);

  // Lorsque cette deuxième requête est appliquée,
  // on exécute la fonction displayData() afin d'afficher
  // les données à jour
  updateTitleRequest.onsuccess = function () {
    displayData();
  };
};
```

Spécifications
--------------

| Specification |
| --- |
| Indexed Database API 3.0 # ref-for-dom-idbrequest-readystate① |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* Manipuler IndexedDB
* Démarrer des transactions : `IDBDatabase`
* Manipuler des transactions : `IDBTransaction`
* Définir un intervalle de clés : `IDBKeyRange`
* Récupérer des données et les modifier : `IDBObjectStore`
* Manipuler des curseurs : `IDBCursor`
* Exemple de référence pour IndexedDB : To-do Notifications
IDBRequest.onsuccess
====================

Le gestionnaire d'événement **`onsuccess`** de l'interface `IDBRequest` capte l'événement `success` (en-US), déclenché quand la requête réussie.

Le gestionnaire d'événement un événement success (en-US) avec le type="success" en paramètre.

**Note:** Cette fonctionnalité est disponible via les Web Workers

Syntaxe
-------


```js
request.onsuccess = function( event ) { ... };
```

Exemple
-------

L'exemple suivant demande un titre d'enregistrement donné, `onsuccess` obtient l'enregistrement associé de `IDBObjectStore` (mis à disposition en tant que `objectStoreTitleRequest.result`), on met à jour une propriété de l'enregistrement, puis le sauve dans le magasin d'objets. En bas le gestionnaire d'événement `onerror` affiche le code d'erreur si la requête échoue. Pour un exemple de travail complet, voir notre To-do Notifications app (view example live).


```js
var title = "Walk dog";

// Ouvrez une transaction comme d'habitude
var objectStore = db
  .transaction(["toDoList"], "readwrite")
  .objectStore("toDoList");

// Obtenez l'objet toDoList qui a ce titre
var objectStoreTitleRequest = objectStore.get(title);

objectStoreTitleRequest.onsuccess = function () {
  // Prenez l'objet de données renvoyé comme résultat
  var data = objectStoreTitleRequest.result;

  // Mettre à jour la valeur notified de l'objet à "yes"
  data.notified = "yes";

  // Créer une autre requête qui insère le nouvelle élément dans la base de données
  var updateTitleRequest = objectStore.put(data);

  // Lorsque cette requête réussit, appelle de la fonction displayData() pour mettre à jour l'affichage
  updateTitleRequest.onsuccess = function () {
    displayData();
  };
};

objectStoreTitleRequest.onerror = function () {
  // Si une erreur se produit à la demande, on l'affiche
  console.log(
    "Il y a eu une erreur dans la récupération des données: " +
      objectStoreTitleRequest.error,
  );
};
```

Spécifications
--------------

| Specification |
| --- |
| Indexed Database API 3.0 # eventdef-idbrequest-success |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* Using IndexedDB
* Success Event (en-US)
* Starting transactions: `IDBDatabase`
* Using transactions: `IDBTransaction`
* Setting a range of keys: `IDBKeyRange`
* Retrieving and making changes to your data: `IDBObjectStore`
* Using cursors: `IDBCursor`
* Reference example: To-do Notifications (view example live.)
IDBRequest.result
=================

La propriété **`result`**, rattachée à l'interface `IDBRequest`, renvoie le résultat de la requête. Si la requête échoue et que le résultat n'est pas disponible, une exception `InvalidStateError` sera levée.

**Note :** Cette fonctionnalité est disponible via les Web Workers.

Syntaxe
-------


```js
let resultat = request.result;
```

### Valeur

La valeur du résultat de la requête (le type dépend des objets du magasin d'objets).

Exemple
-------

Dans l'exemple qui suit, on souhaite récupérer l'enregistrement qui correspond à un titre donné. Le gestionnaire d'évènements `onsuccess` permet de récupérer l'enregistrement contenu dans le magasin d'objet (`IDBObjectStore`) (via `objectStoreTitleRequest.result`). Ensuite, on met à jour une propriété de cet enregistrement et on replace cet enregistrement dans le magasin d'objet. Pour un exemple fonctionnel complet, voir l'application To-do Notifications (voir l'exemple *live*).


```js
let title = "Promener le chien";

// On ouvre une transaction en lecture/écriture
let objectStore = db
  .transaction(["toDoList"], "readwrite")
  .objectStore("toDoList");

// On récupère l'objet qui possède le titre souhaité
let objectStoreTitleRequest = objectStore.get(title);

objectStoreTitleRequest.onsuccess = function () {
  // On agit sur les données de l'objet de la requête
  let data = objectStoreTitleRequest.result;

  // On met à jour la propriété notified avec "yes"
  data.notified = "yes";

  // On crée une autre requête pour réinsérer l'objet dans la base
  let updateTitleRequest = objectStore.put(data);

  // Lorsque cette seconde requête est terminée, on lance displayData() pour rafraîchir l'écran
  updateTitleRequest.onsuccess = function () {
    displayData();
  };
};
```

Spécifications
--------------

| Specification |
| --- |
| Indexed Database API 3.0 # ref-for-dom-idbrequest-result① |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* Utiliser IndexedDB
* Initier une transaction : `IDBDatabase`
* Utiliser les transactions : `IDBTransaction`
* Définir un intervalle de clés : `IDBKeyRange`
* Récupérer et modifier les données : `IDBObjectStore`
* Utiliser les curseurs : `IDBCursor`
* Exemple de référence : To-do Notifications (exemple *live*).
CanvasRenderingContext2D.canvas
===============================

La propriété **`CanvasRenderingContext2D.canvas`** est une référence à l'objet `HTMLCanvasElement` qui est associé au contexte. Il peut être `null` s'il n'est pas associé à un élément `<canvas>`.

Syntaxe
-------


```js
ctx.canvas;
```

Exemples
--------

Soit cet élément `<canvas>`:


```html
<canvas id="canvas"></canvas>
```


Vous pouvez obtenir la référence à l'élément `canvas` grâce à `CanvasRenderingContext2D` en utilisant la propriété `canvas` :


```js
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
ctx.canvas; // HTMLCanvasElement
```

Spécifications
--------------

| Specification |
| --- |
| HTML Standard # dom-context-2d-canvas-dev |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `CanvasRenderingContext2D`
CanvasRenderingContext2D.fillText()
===================================

La méthode **`CanvasRenderingContext2D.fillText()`** de l'API Canvas 2D écrit un texte donné à la position *(x, y)* donnée. Si le quatrième paramètre optionnel donnant une largeur maximum est fourni, le texte sera mis à l'échelle pour s'adapter à cette largeur.

Voir aussi la méthode `CanvasRenderingContext2D.strokeText()` pour dessiner un texte mis en forme.

Syntaxe
-------


```js
void ctx.fillText(texte, x, y [, largeurMax]);
```

### Paramètres

`texte`

Le texte à représenter en utilisant les valeurs en cours de `font`, `textAlign`, `textBaseline`, et de `direction`.


`x`

La valeur de la coordonnée sur l'axe des x du point de début du texte.

`y`

La valeur de la coordonnée sur l'axe des y du point de fin du texte.

`largeurMax` Facultatif

La largeur maximum à dessiner. Si spécifiée, et si la longueur calculée de la chaîne est supérieure à cette largeur, la police est ajustée pour utiliser une police plus condensée horizontalement (s'il en existe une ou s'il peut en être synthétisée une raisonnablement lisible en mettant à l'échelle horizontalement la police en cours) ou une plus petite police.

Exemples
--------

### Utilisation de la méthode `fillText`

Ceci est seulement un fragment de code simple utilisant la méthode `fillText`.

#### HTML


```html
<canvas id="canvas"></canvas>
```


#### JavaScript


```js
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");

ctx.font = "48px serif";
ctx.fillText("Hello world", 50, 100);
```


Modifiez le code ci-dessous et voyez vos changements être mis à jour en temps réel dans le canevas :

#### Code jouable
```

<canvas id="canvas" width="400" height="200" class="playable-canvas"></canvas>
<div class="playable-buttons">
  <input id="edit" type="button" value="Edit" />
  <input id="reset" type="button" value="Reset" />
</div>
<textarea id="code" class="playable-code">
ctx.font = "48px serif";
ctx.fillText("Hello world", 50, 100);</textarea
>
```


```
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var textarea = document.getElementById("code");
var reset = document.getElementById("reset");
var edit = document.getElementById("edit");
var code = textarea.value;

function drawCanvas() {
  ctx.clearRect(0, 0, canvas.width, canvas.height);
  eval(textarea.value);
}

reset.addEventListener("click", function () {
  textarea.value = code;
  drawCanvas();
});

edit.addEventListener("click", function () {
  textarea.focus();
});

textarea.addEventListener("input", drawCanvas);
window.addEventListener("load", drawCanvas);
```

Spécifications
--------------

| Specification |
| --- |
| HTML Standard # dom-context-2d-filltext-dev |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* L'interface la définissant, `CanvasRenderingContext2D`
* `CanvasRenderingContext2D.strokeText()`