JavaScrip interdit l'impression des touches de raccourci, désactive les combinaisons de touches, les moniteurs, les blocs, addEventListener, DOMContentLoaded, PreventDefault


le code

// 在网页加载完成后运行代码
document.addEventListener("DOMContentLoaded", () => {
    
    
    // 监听按键按下事件
    document.addEventListener("keydown", (event) => {
    
    
        // 判断按下的键是否为Ctrl键和P键
        if (event.ctrlKey && event.key === "p") {
    
    
            // 阻止事件默认行为(打印页面)
            event.preventDefault();
            // 可以选择在这里添加自己的提示或处理逻辑
            console.log("ctrl + p 已被阻止");
        }
    });
});

addEventListener

définition de w3school

addEventListener()méthode pour attacher un gestionnaire d’événements à un élément.

paramètre décrire
taper

requis. Le nom de l'évènement.

Veuillez ne pas utiliser le préfixe « on ».

Veuillez utiliser « clic » au lieu de « onclick ».


Liste complète des événements DOM

fonction requis. Fonction à exécuter lorsque l'événement se produit.
utiliserCapture

facultatif (par défaut = faux).

  • false- Les handlers sont exécutés en phase de bouillonnement.
  • true- Les gestionnaires sont exécutés pendant la phase de capture.

détails techniques

Cette méthode ajoutera la fonction d'écoute d'événement spécifiée à la collection d'écouteurs du nœud actuel pour gérer typeles événements du type spécifié. Si useCaptureoui true, l'écouteur est enregistré en tant qu'écouteur d'événement de capture. Si useCaptureoui false, il est enregistré comme écouteur d'événement normal.
addEventListener()Peut être appelé plusieurs fois pour enregistrer plusieurs gestionnaires d'événements pour le même type d'événement sur le même nœud. Notez cependant que DOMl'ordre dans lequel plusieurs gestionnaires d'événements sont appelés ne peut pas être déterminé. Si une fonction d'écoute d'événements est enregistrée deux fois
sur le même nœud avec les mêmes paramètres typeet , alors le deuxième enregistrement sera ignoré. useCaptureSi un nouvel écouteur d'événement est enregistré sur un nœud alors qu'un événement sur le nœud est en cours de traitement, le nouvel écouteur d'événement ne sera pas appelé pour cet événement. Lors du clonage d'un nœud
avec la méthode Node.cloneNode() ou la méthode Document.importNode()Document , les écouteurs d'événements enregistrés pour le nœud d'origine ne sont pas copiés.
Cette méthode est également définie sur les objets Document et Window et fonctionne de manière similaire.


DOMContentLoaded

MDN

Événement déclenché lorsque HTMLle document est entièrement analysé et que tous les scripts de report ( <script defer src="…"> et <script type="module"> ) ont été téléchargés et exécutés . DOMContentLoadedIl n'attend pas que d'autres contenus tels que des images, des sous-images et des scripts asynchrones terminent leur chargement.
DOMContentLoadedN'attend pas le chargement des feuilles de style, mais les scripts différés le font, et DOMContentLoadedles événements sont mis en file d'attente après les scripts différés. De plus, les scripts non retardés ou asynchrones (tels que <script>) attendront le chargement des feuilles de style analysées.
L'autre événement de chargement ne peut être utilisé que pour détecter une page entièrement chargée. Une erreur courante consiste DOMContentLoadedà utiliser loadles événements lorsqu’ils sont plus appropriés.
Cet événement ne peut pas être annulé.


prévenirDefault

w3école

Si l'événement est annulable, preventDefault()la méthode annule l'événement, ce qui signifie que l'action par défaut appartenant à l'événement n'aura pas lieu.
Utile lorsque, par exemple :
cliquer sur un bouton de soumission l'empêche de soumettre un formulaire.
Cliquer sur un lien empêche le lien de suivreURL
Tous les événements ne peuvent pas être annulés. Veuillez utiliser l'attribut annulable pour déterminer si l'événement est annulable.
preventDefault()La méthode n’empêche pas l’événement de DOMse propager plus loin. Veuillez utiliser stopPropagation()la méthode pour résoudre.


MDN

Une méthode de l' interface EventpreventDefault() qui indique à l'agent utilisateur que si l'événement n'est pas explicitement géré, ses actions par défaut ne doivent pas être effectuées comme d'habitude. Cet événement continue de se propager, sauf si l'écouteur d'événement appelle stopPropagation() ou stopImmediatePropagation() pour arrêter la propagation.

Je suppose que tu aimes

Origine blog.csdn.net/weixin_51157081/article/details/132433953
conseillé
Classement