事件從根節點開始,逐級派送到子節點,若節點繫結了事件動作,則執行動作,然後繼續走(firefox等瀏覽器)。
執行完捕獲階段後,事件由子節點往根節點派送,若節點繫結了事件動作,則執行動作,然後繼續走(ie瀏覽器)。
注意:然而在大多數瀏覽器使用同樣標準時,ie卻沒有使用,因而造就了相容問題。
if(window.addeventlistener)
addlistener=function(el,type,listener,usecapture){
el.addeventlistener(type,listener,usecapture);
else if(window.attachevent)
addlistener=function(el,type,listener){
注意:防止冒泡繼續的函式(新增到要執行動作的結點中):
var stopevent=function(event){
e=event||window.event;
if(e.stoppropagation)
e.stoppropagation();
else
e.cancelbubble=true;
addeventlistener(string eventflag,functioneventfunc,bool usecapture)
eventflag:事件名稱,如click事件、mouseover事件等;
eventfunc:繫結到事件中的函式;
usecapture:是否在捕獲階段,預設為true(不過我們常用false);
注意:可用event.stoppropagation()來阻止事件下流(具體看上面)。
attachevent(string eventflag,functioneventfunc)
eventflag:事件名稱,前面要加「on」,如onclick事件、onmousover事件等;
eventfunc:繫結到事件中的函式;
注意:可使用window.event.cancelbubble=false來阻止事件下流(具體看上面)。
oracle隨手筆記
1.儲存過程中is和as沒區別檢視 用is 游標 用as 不能反過來,其他情況沒區別 2.trim是用來去除字串開頭和結尾的函式 用法 select trim leading trailing both 你要刪的東西 from 被刪的字串 test trim from dual both後面沒有引數...
C 隨手筆記
成員變數在使用初始化列表初始化時,與建構函式中初始化成員列表的順序無關,只與定義成員變數的順序有關。因為成員變數的初始化次序是根據變數在記憶體中次序有關,而記憶體中的排列順序早在編譯期就根據變數的定義次序決定了。這點在effectivec 中有詳細介紹。如果不使用初始化列表初始化,在建構函式內初始化...
MySql隨手筆記
1,acid 資料庫事務正常執行的四個基本要素 2,多表查詢的三種連線方式,2.1 交叉連線,表1cross join 表2。查詢兩張表的結果,不會對錶的結果過濾,使用場景很少。返回的結果集是兩張表的笛卡爾集,比如第一張表 有4條記錄,第二張表有4條記錄,即4 4 16條。2.2 內連線,selec...