天天看點

JavaScript——四

引用案例:事件隻能執行一次

JavaScript——四
JavaScript——四
JavaScript——四

array裡面都是事件對象

JavaScript——四

點選box3區域時,則會有事件冒泡現象,即:box3響應後,box2(比他大一節)的區域,box1(比box2大一級)相應出現響應事件現象

JavaScript——四

捕獲階段:從外到内,(從大區域到小區域)

目标階段:從内到外依次觸發事件

JavaScript——四

false的意思在于事件是在捕獲階段還是目标階段使用

 事件委托:

舉例:點選那個li,就是他這一行高亮顯示

JavaScript——四
JavaScript——四

這個function參數中的e不是我們寫的,這是系統在處理事件的時候的産物,this指向出發事件的函數,e指向真正觸發事件的對象 ,而且我們也沒有辦法在事件觸發的時候給這個函數傳參數

但是ie9以前不支援這個e參數,在ie老版本的時候用的是window.event,ie9以後也支援這個,但是其他浏覽器不一定支援,是以要做相容性處理

用e=e || window.event即可

遇到一個新的對象,就用console.dir()把他列印出來,來看她都有什麼函數

以下是e的一些常用函數:

JavaScript——四
JavaScript——四

擷取滑鼠的位置:

body的區域是body内部元素的範圍,如果頁面内隻有一個div,那body的範圍就和div一樣

JavaScript——四

上一種寫法如果頁面有滾動條就不對了,因為clientx和clienty是擷取滑鼠在可視範圍内的位值,而不是頁面内的位置

JavaScript——四

但是pagex在ie9之前并沒有,是以就要去解決上一個clientx的問題了

而在這個問題上我們隻需要把clientx加上頁面滾動出去距離就可以了

滾動條屬于視窗,是以可用window.scroll()來判斷滾動條是否移動

JavaScript——四

scrollleft以及scrolltop是水準和豎直方向滾動條移動的距離

這個document.後面的東西有浏覽器相容問題

JavaScript——四
JavaScript——四

傳參的時候就是傳“e”(我們之前介紹過)

 foreach在ie8不支援

JavaScript——四
JavaScript——四
JavaScript——四

取消預設行為的執行:

return false; 後續行為不會執行

e.preventdefauit();後面代碼還會執行

JavaScript——四
JavaScript——四
JavaScript——四

是一些字元無法輸入:(下例是不能輸入a)

JavaScript——四
JavaScript——四

使其按回車時下一個文本框擷取焦點

JavaScript——四

下一種方法是當按下回車時是回車對應的鍵改成tab對應鍵的ascall值,但是由于它是隻讀的,是以此方法不行

JavaScript——四
JavaScript——四

浏覽器中的頂級對象:

JavaScript——四

在全局定義的變量和函數都是window下的變量和函數,即可用window.變量/函數()來調用

JavaScript——四

在window裡面有一些屬性,比如window的num或top在window中是string類型,你如果定義他為變量,那麼無論你給他賦什麼值,他始終是string類型

JavaScript——四

繼續閱讀