Rumah > Soal Jawab > teks badan
Sebagai contoh, kod berikut
var box = document.getElementById("box");
box.onclick = function(){
console.log(111);
};
box = null;
Mengapa saya masih boleh mencetuskan peristiwa klik pada kotak apabila saya menetapkan nilai kotak kepada null? Apa yang saya fikir ialah walaupun kotak ditugaskan kepada batal kemudian, memandangkan acara telah ditambah, pemprosesan acara tidak ada kaitan dengan kotak itu sendiri? Saya tidak tahu sama ada ini betul Mengapa saya hanya boleh menetapkan box.onclick kepada null Adakah onclick tidak termasuk dalam kotak? , saya harap anda semua dapat memberi saya jawapan yang munasabah, terima kasih.
phpcn_u15822017-05-19 10:35:15
Kotak di sini hanyalah pembolehubah
var box = document.getElementById("box");
Berikut adalah memberikan rujukan elemen "kotak" kepada kotak box = null
是把null
Anda memberikan nilai kepada kotak di bawah tidak memberi kesan kepada elemen "kotak" Adalah disyorkan untuk membaca artikel ini
Mungkin apa yang saya katakan tidak begitu jelas, maafkan saya.
过去多啦不再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
Anda baru sahaja memberi nama panggilan "Xiao Ming" kepada orang lain, tetapi kerosakan yang anda sebabkan pada "Xiao Ming" asal masih ada...
Sebagai pemandu berpengalaman, saya mesti membetulkan langkah pemutihan anda:
1 , penutup pertama naikkan dosamu
box.onclick = null;
2 Terpulang pada keadaan sama ada nak hancurkan badan atau tidak
box = null;
或
box.parentNode.removeChild(box);
阿神2017-05-19 10:35:15
Malah, kotak hanyalah "penunjuk" yang menunjuk kepada elemen DOM.
Operasi anda pada atribut kotak akan mempengaruhi elemen DOM, tetapi apabila anda menetapkannya kepada null, anda hanya menukar penunjuk kotak, tetapi ini tidak bermakna elemen DOM dikosongkan.