recursal/MDN huggingface dataset:
KeyboardEvent()
===============

Le constructeur **`KeyboardEvent()`** crée un nouveau `KeyboardEvent`.

Syntaxe
-------


```js
event = new KeyboardEvent(typeArg, KeyboardEventInit);
```

### Valeurs

typeArg

Une représentation du nom de l'évènement sous forme de `DOMString`.

KeyboardEventInitFacultatif

Un dictionnaire `KeyboardEventInit` ayant les champs suivants :

* `"key"`, optionnel et par défaut `""`, de type `DOMString`, qui définit la valeur de `KeyboardEvent.key`.
* `"code"`, optionnel et par défaut `""`, de type `DOMString`, qui définit la valeur de `KeyboardEvent.code`.
* `"location"`, optionnel et par défaut `0`, de type `unsigned long`, qui définit la valeur de `KeyboardEvent.location` (en-US).
* `"ctrlKey"`, optionnel et par défaut `false`, de type `Boolean`, qui définit la valeur de `KeyboardEvent.ctrlKey` (en-US).
* `"shiftKey"`, optionnel et par défaut `false`, de type `Boolean`, qui définit la valeur de `KeyboardEvent.shiftKey` (en-US).
* `"altKey"`, optionnel et par défaut `false`, de type `Boolean`, qui définit la valeur de `KeyboardEvent.altKey` (en-US).
* `"metaKey"`, optionnel et par défaut `false`, de type `Boolean`, qui définit la valeur de `KeyboardEvent.metaKey` (en-US).
* `"repeat"`, optionnel et par défaut `false`, de type `Boolean`, qui définit la valeur de `KeyboardEvent.repeat` (en-US).
* `"isComposing"`, optionnel et par défaut `false`, de type `Boolean`, qui définit la valeur de `KeyboardEvent.isComposing` (en-US).
* `"charCode"`, optionnel et par défaut `0`, de type `unsigned long`, qui définit la valeur du déprécié `KeyboardEvent.charCode`.
* `"keyCode"`, optionnel et par défaut `0`, de type `unsigned long`, qui définit la valeur du déprécié `KeyboardEvent.keyCode` (en-US).
* `"which"`, optionnel et par défaut `0`, de type `unsigned long`, qui définit la valeur du déprécié `KeyboardEvent.which` (en-US).


**Note :** Le dictionnaire `KeyboardEventInit` accepte aussi les champs des dictionnaires `UIEventInit` (en-US) et `EventInit`.

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

| Specification |
| --- |
| UI Events # dom-keyboardevent-keyboardevent |

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

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

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

* `KeyboardEvent`, l'interface des objets qu'il construit.
KeyboardEvent.charCode
======================

**Non standard:** Cette fonctionnalité n'est ni standard, ni en voie de standardisation. Ne l'utilisez pas pour des sites accessibles sur le Web : elle ne fonctionnera pas pour tout utilisateur. Il peut également y avoir d'importantes incompatibilités entre les implémentations et son comportement peut être modifié dans le futur.

**Obsolète:** Cette fonctionnalité a été supprimée des standards du Web. Bien que quelques navigateurs puissent encore la supporter, elle est en cours d'éradication. Ne l'utilisez ni dans d'anciens projets, ni dans de nouveaux. Les pages et applications Web l'utilisant peuvent cesser de fonctionner à tout moment.

La propriété en lecture seule `KeyboardEvent.charCode` retourne la valeur Unicode d'une touche caractère pressée pendant un évènement `keypress`.

Pour des constantes équivalant ces codes numériques, voir `KeyEvent`.

**Note :** N'utilisez plus cette propriété, elle est dépréciée. Utilisez plutôt `KeyboardEvent.key`.

Syntaxe
-------


```js
var value = event.charCode;
```


* *`value`* est la valeur Unicode du caractère associé à la touche pressée.
Exemple
-------


```html
<html>
  <head>
    <title>Exemple charCode</title>

    <script type="text/javascript">
 function AfficherCaractere(e) {
 alert(
 "Touche tapée : " +
 String.fromCharCode(e.charCode) +
 "\n" +
 "charCode: " +
 e.charCode,
 );
 }
 </script>
  </head>

  <body onkeypress="AfficherCaractere(event);">
    <p>Tapez une touche caractère de votre clavier (a,b,c...)</p>
  </body>
</html>
```

Notes
-----

Après un évènement `keypress`, la valeur Unicode de la touche pressée est stockée dans l'une ou l'autre des propriétés ``keyCode`` et `charCode`, jamais les deux à la fois. Si la touche pressée génère un caractère (ex. 'a'), `charCode` prend la valeur du code de ce caractère, en respectant la casse. (i.e. `charCode` tient compte d'une touche Maj. enfoncée). Sinon, le code est stocké dans `keyCode`.

Quand une ou plusieurs touche modificatrices sont pressées, il y a quelques règles complexes pour `charCode`, jetez un oeil à Gecko Keypress Event (en anglais) pour le détail.

`charCode` n'est jamais défini lors d'évènements `keydown` et `keyup`. Dans ces cas, `keyCode` is set instead.

Pour obtenir le code de la touche qu'il soit stocké dans `keyCode` ou `charCode`, requêtez la propriété `which`.

Les caractères entrés via IME ne s'enregistrent pas sous `keyCode` ou `charCode`. Actually with the Chinese IME I'm using, entering the IME results in a keypress event with keyCode = 229 and no other key events fire until the IME exits (which may happen after multiple characters are inputted). I'm not sure if other IME's work this way.

Pour une liste de valeurs de `charCode` associées à leurs touches, lancez l'exemple dans Gecko DOM Reference:Examples #Example 7: Displaying Event Object Constants (en anglais) et regardez le tableau HTML résultant.

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

| Specification |
| --- |
| UI Events # dom-keyboardevent-charcode |

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

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

**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.

La propriété en lecture seule **`domContentLoadedEventEnd`** retourne un `timestamp` représentant la valeur temporelle égale au temps immédiatement après la fin de l'événement `DOMContentLoaded` du document actuel.

Syntaxe
-------


```js
perfEntry.domContentLoadedEventEnd;
```

### Valeur de retour

Un `timestamp` représentant la valeur temporelle égale au temps immédiatement après la fin de l'événement `DOMContentLoaded` du document actuel.

Exemple
-------

L'exemple suivant illustre l'utilisation de cette propriété.


```js
function print\_nav\_timing\_data() {
  // Utilise getEntriesByType() pour obtenir uniquement les événements de type "navigation".
  let perfEntries = performance.getEntriesByType("navigation");

  for (let i = 0; i < perfEntries.length; i++) {
    console.log("= Entrée de navigation : entry[" + i + "]");
    let p = perfEntries[i];
    // propriétés du DOM
    console.log(
      "Contenu du DOM chargé = " +
        (p.domContentLoadedEventEnd - p.domContentLoadedEventStart),
    );
    console.log("Contenu du DOM complet = " + p.domComplete);
    console.log("Contenu du DOM interactif = " + p.interactive);

    // temps de chargement et de déchargement des documents
    console.log("Document chargé = " + (p.loadEventEnd - p.loadEventStart));
    console.log(
      "Document déchargé = " + (p.unloadEventEnd - p.unloadEventStart),
    );

    // autres propriétés
    console.log("type = " + p.type);
    console.log("redirectCount = " + p.redirectCount);
  }
}
```

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

| Specification |
| --- |
| Navigation Timing Level 2 # dom-performancenavigationtiming-domcontentloadedeventend |

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

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

**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.

La propriété en lecture seule **`redirectCount`** renvoie un `timestamp` représentant le nombre de redirections depuis la dernière navigation sans redirection dans le contexte de navigation actuel.

Syntaxe
-------


```js
perfEntry.redirectCount;
```

### Valeur de retour

Un nombre représentant le nombre de redirections depuis la dernière navigation sans redirection dans le contexte de navigation actuel.

Exemple
-------

L'exemple suivant illustre l'utilisation de cette propriété.


```js
function print\_nav\_timing\_data() {
  // Utilise getEntriesByType() pour obtenir uniquement les événements de type "navigation".
  let perfEntries = performance.getEntriesByType("navigation");

  for (let i = 0; i < perfEntries.length; i++) {
    console.log("= Entrée de navigation : entry[" + i + "]");
    let p = perfEntries[i];
    // propriétés du DOM
    console.log(
      "Contenu du DOM chargé = " +
        (p.domContentLoadedEventEnd - p.domContentLoadedEventStart),
    );
    console.log("Contenu du DOM complet = " + p.domComplete);
    console.log("Contenu du DOM interactif = " + p.interactive);

    // temps de chargement et de déchargement des documents
    console.log("Document chargé = " + (p.loadEventEnd - p.loadEventStart));
    console.log(
      "Document déchargé = " + (p.unloadEventEnd - p.unloadEventStart),
    );

    // autres propriétés
    console.log("type = " + p.type);
    console.log("redirectCount = " + p.redirectCount);
  }
}
```

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

| Specification |
| --- |
| Navigation Timing Level 2 # dom-performancenavigationtiming-redirectcount |

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

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

**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.

La propriété en lecture seule **`loadEventStart`** retourne un `timestamp` représentant la valeur temporelle égale au temps immédiatement avant le déclenchement de l'événement de chargement du document actuel.

Syntaxe
-------


```js
perfEntry.loadEventStart;
```

### Valeur de retour

Un `timestamp` représentant une valeur temporelle égale à l'heure précédant immédiatement l'événement de chargement du document actuel.

Exemple
-------

L'exemple suivant illustre l'utilisation de cette propriété.


```js
function print\_nav\_timing\_data() {
  // Utilise getEntriesByType() pour obtenir uniquement les événements de type "navigation".
  let perfEntries = performance.getEntriesByType("navigation");

  for (let i = 0; i < perfEntries.length; i++) {
    console.log("= Entrée de navigation : entry[" + i + "]");
    let p = perfEntries[i];
    // propriétés du DOM
    console.log(
      "Contenu du DOM chargé = " +
        (p.domContentLoadedEventEnd - p.domContentLoadedEventStart),
    );
    console.log("Contenu du DOM complet = " + p.domComplete);
    console.log("Contenu du DOM interactif = " + p.interactive);

    // temps de chargement et de déchargement des documents
    console.log("Document chargé = " + (p.loadEventEnd - p.loadEventStart));
    console.log(
      "Document déchargé = " + (p.unloadEventEnd - p.unloadEventStart),
    );

    // autres propriétés
    console.log("type = " + p.type);
    console.log("redirectCount = " + p.redirectCount);
  }
}
```

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

| Specification |
| --- |
| Navigation Timing Level 2 # dom-performancenavigationtiming-loadeventstart |

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

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

**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.

La propriété en lecture seule **`type`** renvoie une chaîne de caractères `DOMString` représentant le type de navigation. La valeur doit être l'une des suivantes :

`navigate`

La navigation a commencé en cliquant sur un lien, en saisissant l'URL dans la barre d'adresse du navigateur, en soumettant un formulaire ou en s'initialisant par une opération de script autre que reload et back\_forward, comme indiqué ci-dessous.

`reload`

La navigation s'effectue par l'opération de rechargement du navigateur ou `location.reload()`.

`back_forward`

La navigation se fait par l'opération de traversée de l'historique du navigateur.

`prerender`

La navigation est initiée par un indice de prétraitement.

Syntaxe
-------


```js
perfEntry.type;
```

### Valeur de retour

Une chaîne de caractères `DOMString` qui est l'une des valeurs énumérées ci-dessus.

Exemple
-------

L'exemple suivant illustre l'utilisation de cette propriété.


```js
function print\_nav\_timing\_data() {
  // Utilise getEntriesByType() pour obtenir uniquement les événements de type "navigation".
  let perfEntries = performance.getEntriesByType("navigation");

  for (let i = 0; i < perfEntries.length; i++) {
    console.log("= Entrée de navigation : entry[" + i + "]");
    let p = perfEntries[i];
    // propriétés du DOM
    console.log(
      "Contenu du DOM chargé = " +
        (p.domContentLoadedEventEnd - p.domContentLoadedEventStart),
    );
    console.log("Contenu du DOM complet = " + p.domComplete);
    console.log("Contenu du DOM interactif = " + p.interactive);

    // temps de chargement et de déchargement des documents
    console.log("Document chargé = " + (p.loadEventEnd - p.loadEventStart));
    console.log(
      "Document déchargé = " + (p.unloadEventEnd - p.unloadEventStart),
    );

    // autres propriétés
    console.log("type = " + p.type);
    console.log("redirectCount = " + p.redirectCount);
  }
}
```

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

| Specification |
| --- |
| Navigation Timing Level 2 # dom-performancenavigationtiming-type |

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

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

**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.

La propriété en lecture seule **`domComplete`** renvoie un `timestamp` représentant la valeur temporelle égale au temps immédiatement avant que l'agent utilisateur ne définisse la disponibilité du document actuel à `complete`.

Syntaxe
-------


```js
perfEntry.domComplete;
```

### Valeur de retour

Un `timestamp` représentant une valeur temporelle égale au temps immédiatement avant que l'agent utilisateur ne définisse la disponibilité du document actuel à `complete`.

Exemple
-------

L'exemple suivant illustre l'utilisation de cette propriété.


```js
function print\_nav\_timing\_data() {
  // Utilise getEntriesByType() pour obtenir uniquement les événements de type "navigation".
  let perfEntries = performance.getEntriesByType("navigation");

  for (let i = 0; i < perfEntries.length; i++) {
    console.log("= Entrée de navigation : entry[" + i + "]");
    let p = perfEntries[i];
    // propriétés du DOM
    console.log(
      "Contenu du DOM chargé = " +
        (p.domContentLoadedEventEnd - p.domContentLoadedEventStart),
    );
    console.log("Contenu du DOM complet = " + p.domComplete);
    console.log("Contenu du DOM interactif = " + p.interactive);

    // temps de chargement et de déchargement des documents
    console.log("Document chargé = " + (p.loadEventEnd - p.loadEventStart));
    console.log(
      "Document déchargé = " + (p.unloadEventEnd - p.unloadEventStart),
    );

    // autres propriétés
    console.log("type = " + p.type);
    console.log("redirectCount = " + p.redirectCount);
  }
}
```

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

| Specification |
| --- |
| Navigation Timing Level 2 # dom-performancenavigationtiming-domcomplete |

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

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

**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.

La propriété en lecture seule **`loadEventEnd`** renvoie un `timestamp` qui est égal à l'heure à laquelle l'événement de chargement du document actuel est terminé.

Syntaxe
-------


```js
perfEntry.loadEventEnd;
```

### Valeur de retour

Un `timestamp` représentant le moment où l'événement de chargement du document actuel est terminé.

Exemple
-------

L'exemple suivant illustre l'utilisation de cette propriété.


```js
function print\_nav\_timing\_data() {
  // Utilise getEntriesByType() pour obtenir uniquement les événements de type "navigation".
  let perfEntries = performance.getEntriesByType("navigation");

  for (let i = 0; i < perfEntries.length; i++) {
    console.log("= Entrée de navigation : entry[" + i + "]");
    let p = perfEntries[i];
    // propriétés du DOM
    console.log(
      "Contenu du DOM chargé = " +
        (p.domContentLoadedEventEnd - p.domContentLoadedEventStart),
    );
    console.log("Contenu du DOM complet = " + p.domComplete);
    console.log("Contenu du DOM interactif = " + p.interactive);

    // temps de chargement et de déchargement des documents
    console.log("Document chargé = " + (p.loadEventEnd - p.loadEventStart));
    console.log(
      "Document déchargé = " + (p.unloadEventEnd - p.unloadEventStart),
    );

    // autres propriétés
    console.log("type = " + p.type);
    console.log("redirectCount = " + p.redirectCount);
  }
}
```

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

| Specification |
| --- |
| Navigation Timing Level 2 # dom-performancenavigationtiming-loadeventend |

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

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

**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.

La propriété en lecture seule **`domContentLoadedEventStart`** retourne un `timestamp` représentant la valeur temporelle égale au temps immédiatement avant que l'agent utilisateur ne déclenche l'événement `DOMContentLoaded` du document actuel.

Syntaxe
-------


```js
perfEntry.domContentLoadedEventStart;
```

### Valeur de retour

Un `timestamp` représentant la valeur temporelle égale au temps immédiatement avant que l'agent utilisateur ne déclenche l'événement `DOMContentLoaded` du document actuel.

Exemple
-------

L'exemple suivant illustre l'utilisation de cette propriété.


```js
function print\_nav\_timing\_data() {
  // Utilise getEntriesByType() pour obtenir uniquement les événements de type "navigation".
  let perfEntries = performance.getEntriesByType("navigation");

  for (let i = 0; i < perfEntries.length; i++) {
    console.log("= Entrée de navigation : entry[" + i + "]");
    let p = perfEntries[i];
    // propriétés du DOM
    console.log(
      "Contenu du DOM chargé = " +
        (p.domContentLoadedEventEnd - p.domContentLoadedEventStart),
    );
    console.log("Contenu du DOM complet = " + p.domComplete);
    console.log("Contenu du DOM interactif = " + p.interactive);

    // temps de chargement et de déchargement des documents
    console.log("Document chargé = " + (p.loadEventEnd - p.loadEventStart));
    console.log(
      "Document déchargé = " + (p.unloadEventEnd - p.unloadEventStart),
    );

    // autres propriétés
    console.log("type = " + p.type);
    console.log("redirectCount = " + p.redirectCount);
  }
}
```

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

| Specification |
| --- |
| Navigation Timing Level 2 # dom-performancenavigationtiming-domcontentloadedeventstart |

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

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

**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.

La propriété en lecture seule **`domInteractive`** retourne un `timestamp` représentant la valeur temporelle égale au temps immédiatement avant que l'agent utilisateur ne définisse la disponibilité du document actuel à interactif.

Syntaxe
-------


```js
perfEntry.domInteractive;
```

### Valeur de retour

Une `timestamp` représentant la valeur temporelle égale au temps immédiatement avant que l'agent utilisateur ne définisse la disponibilité du document actuel à interactif.

Exemple
-------

L'exemple suivant illustre l'utilisation de cette propriété.


```js
function print\_nav\_timing\_data() {
  // Utilise getEntriesByType() pour obtenir uniquement les événements de type "navigation".
  let perfEntries = performance.getEntriesByType("navigation");

  for (let i = 0; i < perfEntries.length; i++) {
    console.log("= Entrée de navigation : entry[" + i + "]");
    let p = perfEntries[i];
    // propriétés du DOM
    console.log(
      "Contenu du DOM chargé = " +
        (p.domContentLoadedEventEnd - p.domContentLoadedEventStart),
    );
    console.log("Contenu du DOM complet = " + p.domComplete);
    console.log("Contenu du DOM interactif = " + p.interactive);

    // temps de chargement et de déchargement des documents
    console.log("Document chargé = " + (p.loadEventEnd - p.loadEventStart));
    console.log(
      "Document déchargé = " + (p.unloadEventEnd - p.unloadEventStart),
    );

    // autres propriétés
    console.log("type = " + p.type);
    console.log("redirectCount = " + p.redirectCount);
  }
}
```

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

| Specification |
| --- |
| Navigation Timing Level 2 # dom-performancenavigationtiming-dominteractive |

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

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