Apa yang dimaksud dengan peristiwa menggelegak?
Artinya, ketika beberapa div disarangkan; yaitu, hubungan induk-anak terbentuk. Ketika div induk dan div anak bergabung dengan peristiwa onclick, ketika peristiwa onclick dari div anak dipicu, div anak melakukan hal yang sesuai. operasi js. Tapi event onclick dari div induk juga akan terpicu. Hal ini mengakibatkan terjadinya beberapa tingkat konkurensi peristiwa, yang menyebabkan kekacauan halaman. Ini adalah peristiwa yang menggelegak.
Cara menghilangkan peristiwa menggelegak
Mencegah peristiwa JavaScript menggelembung (cancelBubble, stopPropagation)
Potongan kode berikut ini dapat menjelaskan dengan baik apa itu efek bubbling dan apa yang dimaksud dengan penghapusan efek bubbling?
Copy kode kodenya sebagai berikut:
<html>
<kepala>
<title> Mencegah peristiwa JavaScript menggelembung (cancelBubble, stopPropagation)</title>
<meta name="keywords" content="JavaScript, acara menggelegak, cancelBubble, stopPropagation" />
<skrip tipe="teks/javascript">
fungsi melakukan Sesuatu (obj,evt) {
alert(obj.id);
var e=(evt)?evt:window.event; //Tentukan jenis browser dan gunakan cancelBubble di browser berdasarkan kernel IE
if (jendela.acara) {
e.cancelBubble=benar;
} kalau tidak {
//e.preventDefault(); //Mendukung metode stopPropagation di browser berdasarkan kernel firefox
e.stopPropagasi();
}
}
</skrip>
</kepala>
<tubuh>
<div id="parent1" onclick="alert(ini.id)">
<p>Ini adalah div induk1.</p>
<div id="anak1" onclick="alert(ini.id)">
<p>Ini anak1.</p>
</div>
<p>Ini adalah div induk1.</p>
</div>
<br />
<div id="parent2" onclick="alert(ini.id)">
<p>Ini adalah div induk2.</p>
<div id="child2" onclick="doSomething(ini,acara);">
<p>Ini anak2. Akan menggelembung.</p>
</div>
<p>Ini adalah div induk2.</p>
</div>
</tubuh>
</html>
Setelah kode disalin secara langsung, ketika Anda mengklik child1, tidak hanya kotak dialog child1 yang akan muncul, tetapi kotak dialog parent1 juga akan muncul.
Ini adalah peristiwa yang menggelegak
Tapi mengklik chile2 hanya akan memunculkan child2 tetapi tidak parent2. Ini adalah efek penerapan efek khusus yang mencegah peristiwa menggelembung.