javascript - Pourquoi un événement se déclenche-t-il lors de l'attribution d'une valeur null à un objet?
滿天的星座
滿天的星座 2017-05-19 10:33:15
0
4
601

Par exemple, le code suivant

var box = document.getElementById("box");
box.onclick = function(){
    console.log(111);
};
box = null;

Pourquoi puis-je toujours déclencher l'événement click de la boîte lorsque j'attribue la valeur de la boîte à null ? Ce que je pense, c'est que même si la boîte est affectée à null plus tard, puisque l'événement a été ajouté, le traitement de l'événement n'a rien à voir avec la boîte elle-même ? Je ne sais pas si c'est vrai. Pourquoi puis-je simplement attribuer box.onclick à null ? Onclick n'appartient-il pas à la boîte ? , j'espère que vous pourrez me donner une réponse raisonnable, merci.

滿天的星座
滿天的星座

répondre à tous(4)
phpcn_u1582

La case ici n'est qu'une variable

var box = document.getElementById("box");

Voici l'attribution de la référence de l'élément "box" à la box. Votre box = null是把null affectation ci-dessous n'a aucun effet sur l'élément "box". Il est recommandé de lire cet article
Peut-être ce que je. dit Pas très clair, désolé.

过去多啦不再A梦
var box = document.getElementById("box");//生成一个box指针, 指向element
box.onclick //element绑定点击事件
box = null; // 清空指针 与element无关
PHPzhong

Vous venez de donner le surnom "Xiao Ming" à une autre personne, mais les dégâts que vous avez causés au "Xiao Ming" d'origine sont toujours là...
En tant que conducteur expérimenté, je dois corriger vos étapes de blanchiment :
1 , première couverture tes péchés

box.onclick = null;

2. Cela dépend de la situation si vous voulez détruire le corps ou non

box = null;
或
box.parentNode.removeChild(box);
阿神

En fait, box n'est qu'un "pointeur" pointant vers un élément du DOM.

Votre opération sur l'attribut box affectera l'élément DOM, mais lorsque vous lui attribuez la valeur null, vous modifiez uniquement le pointage de la boîte, mais cela ne signifie pas que l'élément DOM est effacé.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal