Maison > Questions et réponses > le corps du texte
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.
phpcn_u15822017-05-19 10:35:15
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梦2017-05-19 10:35:15
var box = document.getElementById("box");//生成一个box指针, 指向element
box.onclick //element绑定点击事件
box = null; // 清空指针 与element无关
PHPz2017-05-19 10:35:15
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);
阿神2017-05-19 10:35:15
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é.