引用案例:事件隻能執行一次
array裡面都是事件對象
點選box3區域時,則會有事件冒泡現象,即:box3響應後,box2(比他大一節)的區域,box1(比box2大一級)相應出現響應事件現象
捕獲階段:從外到内,(從大區域到小區域)
目标階段:從内到外依次觸發事件
false的意思在于事件是在捕獲階段還是目标階段使用
事件委托:
舉例:點選那個li,就是他這一行高亮顯示
這個function參數中的e不是我們寫的,這是系統在處理事件的時候的産物,this指向出發事件的函數,e指向真正觸發事件的對象 ,而且我們也沒有辦法在事件觸發的時候給這個函數傳參數
但是ie9以前不支援這個e參數,在ie老版本的時候用的是window.event,ie9以後也支援這個,但是其他浏覽器不一定支援,是以要做相容性處理
用e=e || window.event即可
遇到一個新的對象,就用console.dir()把他列印出來,來看她都有什麼函數
以下是e的一些常用函數:
擷取滑鼠的位置:
body的區域是body内部元素的範圍,如果頁面内隻有一個div,那body的範圍就和div一樣
上一種寫法如果頁面有滾動條就不對了,因為clientx和clienty是擷取滑鼠在可視範圍内的位值,而不是頁面内的位置
但是pagex在ie9之前并沒有,是以就要去解決上一個clientx的問題了
而在這個問題上我們隻需要把clientx加上頁面滾動出去距離就可以了
滾動條屬于視窗,是以可用window.scroll()來判斷滾動條是否移動
scrollleft以及scrolltop是水準和豎直方向滾動條移動的距離
這個document.後面的東西有浏覽器相容問題
傳參的時候就是傳“e”(我們之前介紹過)
foreach在ie8不支援
取消預設行為的執行:
return false; 後續行為不會執行
e.preventdefauit();後面代碼還會執行
是一些字元無法輸入:(下例是不能輸入a)
使其按回車時下一個文本框擷取焦點
下一種方法是當按下回車時是回車對應的鍵改成tab對應鍵的ascall值,但是由于它是隻讀的,是以此方法不行
浏覽器中的頂級對象:
在全局定義的變量和函數都是window下的變量和函數,即可用window.變量/函數()來調用
在window裡面有一些屬性,比如window的num或top在window中是string類型,你如果定義他為變量,那麼無論你給他賦什麼值,他始終是string類型