-
1.首先分析實(shí)現(xiàn)原理;然后分析要取出的對象,進(jìn)行取出;再給對象綁定事件; 2.分析各種事件,并對事件進(jìn)行函數(shù)封裝; 3.塊的里面的文字(狀態(tài)、下)不見了:用負(fù)縮進(jìn)把他們搞到窗口之外了,當(dāng)代碼注釋使用。 4.在需要阻止冒泡的地方阻止事件冒泡: ul父元為div,點(diǎn)擊li時希望ul隱藏,點(diǎn)擊div時希望其顯示,在點(diǎn)擊li后會冒泡到div ,因而需要阻止冒泡; 注意區(qū)分onmousedown和onclick,只能阻止相對應(yīng)類型事件。 重點(diǎn):利用事件冒泡實(shí)現(xiàn)切換狀態(tài)菜單;當(dāng)一個塊內(nèi)包含眾多事件時,必須要注意到事件冒泡的影響。 5.在其他任何地方點(diǎn)擊,要使列表隱藏:document.onclick是代表在頁面的任何地方點(diǎn)擊事件。 document下的子元素還有一個onclick事件,所以要注意事件冒泡的影響;查看全部
-
offsetLeft與style.left的區(qū)別 offsetLeft 獲取的是相對于父對象的左邊距 left 獲取或設(shè)置相對于 具有定位屬性(position定義為relative)的父對象 的左邊距 如果父div的position定義為relative,子div的position定義為absolute,那么子div的style.left的值是相對于父div的值, 這同offsetLeft是相同的,區(qū)別在于: 1. style.left 返回的是字符串,如28px,offsetLeft返回的是數(shù)值28,如果需要對取得的值進(jìn)行計算, 還用offsetLeft比較方便。 2. style.left是讀寫的,offsetLeft是只讀的,所以要改變div的位置,只能修改style.left 原理:拖動的時候,光標(biāo)位置在哪,面板位置就在哪,面板的坐標(biāo)通過左上角的點(diǎn)來確定。查看全部
-
1、任何能夠跟著鼠標(biāo)移動的東西 都要有一個前提:絕對定位 2、鼠標(biāo)事件都是在瀏覽器窗口中的特定位置上發(fā)生的。這個位置信息保存在事件的clientX和clientY屬性中。所有瀏覽器都支持這兩個屬性,它們的值表示事件發(fā)生時鼠標(biāo)指針在視口中的水平和垂直坐標(biāo)。不包括頁面滾動的距離。 3、js ie10以下版本不支持document.getElementsByClassName 4、js封裝getClass方法,獲取class 5、實(shí)現(xiàn)隨鼠標(biāo)拖動,需要讓窗口的坐標(biāo)隨著鼠標(biāo)移動,鼠標(biāo)的坐標(biāo)保存在時間的clientX和clientY兩個屬性中。 6、onmousedown鼠標(biāo)按下 窗口和鼠標(biāo)的位置同步; element.style.left/top=clientX/Y+'px'; onmousemove當(dāng)鼠標(biāo)指針在元素內(nèi)部移動時重復(fù)地觸發(fā)查看全部
-
事件的clientX clientY 可以獲得光標(biāo)的位置查看全部
-
IE中的事件對象查看全部
-
事件對象查看全部
-
添加句柄查看全部
-
ie事件處理程序,attachEvent/detachEvent attachEvent(' onclick', func);//冒泡事件 detachEvent(' onclick', func); 類似dom2級 跨瀏覽器能力檢測 1.addEventListener 2.attachEvent 3.用dom0級查看全部
-
dom2級事件處理程序,addEventListener/removeEventListener addEventListener('click',func,false);//true為捕獲事件,false為冒泡事件 removeEventListener('click',func,false); 創(chuàng)建的dom2級事件必須用dom2級方法刪除,此時不能用匿名函數(shù) (dom2級方式)可以為同一事件添加多個處理程序,依次執(zhí)行 ie不支持該方式查看全部
-
DOM0級事件處理程序 (用得比較多):先把元素取出來,然后為其屬性添加一個事件的方法叫DOM0級處理程序。 它是一種較傳統(tǒng)的方式:把一個函數(shù)賦值給一個事件處理程序的屬性。 優(yōu)點(diǎn):簡單,跨瀏覽器的優(yōu)勢 var btn2=document.getElementById("btn2");---先獲取出元素,定義對象 //取得btn2按鈕對象 btn2.onclick=function(){alert('這是通過DOM0級添加的事件!')}----讓 事件以對象的屬性 的形式出現(xiàn)。 //給btn2添加onclick屬性 btn.onclick=null;//刪除查看全部
-
事件捕獲查看全部
-
事件流:描述的是從頁面中接受事件的順序 (IE:事件冒泡流 / Netscape事件捕獲流)查看全部
-
事件冒泡查看全部
-
事件對象查看全部
-
stopPropagation()阻止冒泡;preventDefault()阻止默認(rèn)查看全部
舉報
0/150
提交
取消