event.cancelBubble = true e.stopPropagation () Zrušiť spracovanie udalostí, blokovať udalosti
Event Cancelbubble True E
Rovnako ako vyššie, keď kliknete na tr, preskočíte na inú stránku.
|
|
Pripojte sa možno zmeniť na Pripojte sa
Takto sa zabráni preskočeniu na inú stránku pri kliknutí na značku. Onclick = 'event.cancelBubble = true' zruší spracovanie udalosti.
V opačnom prípade kliknutím na a prejdete na inú stránku.
Analýza:
Zrušte prebublávanie udalosti. V mechanizme udalostí IE sa spúšťacia udalosť nahrá z podradeného prvku do nadradeného prvku krok za krokom, to znamená, že ak podradený prvok spustí udalosť kliknutia, spustí sa tiež udalosť kliknutia udalosti nadradeného prvku. cancelBubble = true môže zastaviť udalosť a pokračovať v nahrávaní
Dodávka udalosti Ie je navyše zdola nahor:
Objekt zdroja udalosti-> horný objekt-> horný objekt -> .....-> telo-> dokument-> okno
Dodávka udalosti NS je zhora nadol:
okno-> dokument-> telo -> ....-> Objekt zdroja udalosti
(event.returnValue = false nastaví návratovú hodnotu udalosti na hodnotu false, to znamená zruší spracovanie udalosti)
2, rozdiel medzi týmito dvoma udalosťami
e.cancelBubble=true// ie block bubbling
e.stopPropagation()// Block bubbling under other browsers
Zastaviť šírenie Tón je formálnejší a vážnejší, význam je „zastaviť šírenie“.
zrušiť bublinu Tón je hovorovejší, podobne ako v prípade chatu je voľný preklad „zrušiť bublanie“, teda neklebetiť.
V skutočnosti teraz, keď IE vyhovuje štandardu W3C, môžu obidve udalosti zabrániť bublaniu udalosti.
Pri svojej skutočnej práci používam nasledujúce.
/ / Directly written in HTML Print //written in js {$vo.billcode} function td_click(obj,ev){ layer.open({ Title: 'View details', type: 2, area: ['800px', '650px'], fix: true, maxmin: false, content: $(obj).data('myhref'),offset: '100px' }) var e=(ev)?ev:window.event if (window.event) { e.cancelBubble=true// ie under } else { e.stopPropagation()// Other browsers } }