javascript事件的傳播基礎(chǔ)實(shí)例講解(35)
本文實(shí)例為大家分享了js事件的傳播,供大家參考,具體內(nèi)容如下
<html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> #box1{ width: 300px; height: 300px; background-color: deepskyblue; } #box2{ width: 200px; height: 200px; background-color: cadetblue; } #box3{ width: 100px; height: 100px; background-color: chocolate; } </style> <script type="text/javascript"> function bind(obj , eventStr , callback){ if(obj.addEventListener){ //如果是正常瀏覽器 obj.addEventListener(eventStr , callback , false); }else{ //IE8 obj.attachEvent("on"+eventStr , function(){ callback.call(obj); }); } } window.onload = function(){ /* * 事件的傳播 * - 關(guān)于事件的傳播微軟和網(wǎng)景公司有著不同的理解 * - 微軟公司,認(rèn)為事件應(yīng)該是從后代元素向祖先元素傳播,即從里向外傳播,也就是我們所謂事件的冒泡 * - 網(wǎng)景公司,認(rèn)為事件應(yīng)該是從祖先元素向后代元素傳播,即從外向里傳播,這一階段我們稱為事件的捕獲 * - W3C綜合了兩個(gè)公司的方案,將事件的傳播分成了三個(gè)階段 * 1.捕獲階段 * - 事件從最外層的元素(document),向目標(biāo)元素進(jìn)行事件的捕獲 * - 此階段默認(rèn)不會(huì)觸發(fā)事件 * 2.目標(biāo)階段 * - 目標(biāo)指的是觸發(fā)事件的元素,捕獲到目標(biāo)元素則捕獲階段停止 * 3.冒泡階段 * - 事件從目標(biāo)元素向祖先元素中冒泡,此時(shí)開(kāi)始觸發(fā)事件 * - 默認(rèn)事件都是在冒泡階段執(zhí)行的 * * - 事件都是默認(rèn)在冒泡階段執(zhí)行的,一般不需要在捕獲階段觸發(fā)事件, * 如果希望在捕獲階段執(zhí)行事件,則需要將addEventListener()的第三個(gè)參數(shù)修改為true * * - IE8及以下的瀏覽器沒(méi)有捕獲階段,也不能設(shè)置在捕獲階段觸發(fā)事件 */ //分別為三個(gè)div綁定單擊響應(yīng)函數(shù) var box1 = document.getElementById("box1"); var box2 = document.getElementById("box2"); var box3 = document.getElementById("box3"); bind(box1,"click",function(){ alert(1); }) bind(box2,"click",function(){ alert(2); }) bind(box3,"click",function(){ alert(3); }) }; </script> </head> <body> <div id="box1"> <div id="box2"> <div id="box3"></div> </div> </div> </body> </html>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JS中使用TextDecoder解碼二進(jìn)制數(shù)據(jù)(數(shù)據(jù)流的逐步解碼)
JS中使用TextDecoder將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為可讀文本字符串,首先,創(chuàng)建TextDecoder對(duì)象,使用decode()方法,解碼為字符串,,{stream:true}選項(xiàng)允許處理流式數(shù)據(jù),適用于大型數(shù)據(jù)流的逐步解碼,TextDecoder廣泛應(yīng)用于WebSocket通信、文件讀取、網(wǎng)絡(luò)響應(yīng)等場(chǎng)景2024-10-10JS實(shí)現(xiàn)顯示帶倒影的圖片橫排居中放大展示特效實(shí)例【測(cè)試可用】
這篇文章主要介紹了JS實(shí)現(xiàn)顯示帶倒影的圖片橫排居中放大展示功能,可實(shí)現(xiàn)點(diǎn)擊圖片及點(diǎn)擊左右按鈕滑動(dòng)切換的效果,涉及javascript針對(duì)鼠標(biāo)事件的響應(yīng)及頁(yè)面元素動(dòng)態(tài)操作相關(guān)技巧,需要的朋友可以參考下2016-08-08bootstrap+jQuery 實(shí)現(xiàn)下拉菜單中復(fù)選框全選和全不選效果
這篇文章主要給大家介紹了關(guān)于利用bootstrap+jQuery 實(shí)現(xiàn)下拉菜單中復(fù)選框全選和全不選效果的相關(guān)資料,文中給出了完整的示例代碼供大家參考學(xué)習(xí),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友下面來(lái)一起看看吧。2017-06-06分享兩個(gè)手機(jī)訪問(wèn)pc網(wǎng)站自動(dòng)跳轉(zhuǎn)手機(jī)端網(wǎng)站代碼
這篇文章主要介紹了分享兩個(gè)手機(jī)訪問(wèn)pc網(wǎng)站自動(dòng)跳轉(zhuǎn)手機(jī)端網(wǎng)站代碼,需要的朋友可以參考下2015-01-01Javascript中call與apply的學(xué)習(xí)筆記
經(jīng)??吹竭@倆哥們,看來(lái)看去都是講他們的區(qū)別,一直沒(méi)搞太清楚作用究竟是什么,現(xiàn)在記錄下自己理解,有錯(cuò)的話希望指出!2014-09-09