国产又黄又粗又长又大的视频-色婷婷久久一区二区爽爽爽-欧美日本韩国国产在线观-尹人香蕉琪琪在现观看
首 頁
|
域名注冊
|
虛擬主機(jī)
|
網(wǎng)站制作
|
網(wǎng)站案例
|
網(wǎng)站優(yōu)化
|
網(wǎng)站推廣
|
企業(yè)郵局
|
服務(wù)器租用
|
廣告設(shè)計(jì)
首頁
域名注冊
虛擬主機(jī)
網(wǎng)站建設(shè)
企業(yè)郵局
網(wǎng)站優(yōu)化
網(wǎng)站備案
服務(wù)器租用
其它服務(wù)
百度競價排名
yahoo搜索
Google搜索
新浪搜索引擎
搜狐搜索引擎
網(wǎng)易搜索引擎
創(chuàng)新互聯(lián)專業(yè)百度關(guān)鍵詞優(yōu)化,百度排名優(yōu)化,百度快照優(yōu)化,網(wǎng)站建設(shè)的互聯(lián)網(wǎng)企業(yè)!
域名注冊
中文域名
英文域名
通用網(wǎng)址
域名解析
域名轉(zhuǎn)入\轉(zhuǎn)出
虛擬主機(jī)
主機(jī)購買
管理主機(jī)
FTP上傳
數(shù)據(jù)庫管理
主機(jī)續(xù)費(fèi)升級
網(wǎng)站建設(shè)
建站流程介紹
網(wǎng)站設(shè)計(jì)
網(wǎng)站改版
網(wǎng)站維護(hù)
網(wǎng)站推廣
企業(yè)郵局
郵箱使用
管理郵箱
郵箱續(xù)費(fèi)升級
全球郵局
網(wǎng)站優(yōu)化
seo優(yōu)化
seo技巧
收索引擎優(yōu)化
關(guān)鍵詞優(yōu)化
網(wǎng)站備案
備案流程指南
修改備案
備案資料下載
備案小技巧
服務(wù)器租用
服務(wù)器租用
服務(wù)器托管
其它服務(wù)
400電話
在線客服
財(cái)務(wù)常見問題
會員常見問題
您現(xiàn)在的位置:
創(chuàng)新互聯(lián)
>>
網(wǎng)站建設(shè)
>> 網(wǎng)站建設(shè)常見問題 >> jQuery基本事件代碼優(yōu)化
jQuery基本事件代碼優(yōu)化
作者:譚小姐 文章來源:網(wǎng)站制作設(shè)計(jì)部 點(diǎn)擊數(shù):1612 更新時間:2009-9-14
jQuery對事件系統(tǒng)的抽象與優(yōu)化也是它的一大特色 。本文僅從事件系統(tǒng)入手,簡要分析一下jQuery為什么提供mouseenter和mouseleave事件,它們與標(biāo)準(zhǔn)的mouseover、mouseout事件有什么區(qū)別 。
事件模型
說到事件,就要追溯到網(wǎng)景與微軟的“瀏覽器大戰(zhàn)”了。當(dāng)時,事件模型還沒有標(biāo)準(zhǔn),兩家公司的實(shí)現(xiàn)就是事實(shí)標(biāo)準(zhǔn)。網(wǎng)景在Navigator中實(shí)現(xiàn)了“事件捕獲”的事件系統(tǒng),而微軟則在IE中實(shí)現(xiàn)了一個基本上相反的事件系統(tǒng),叫做“事件冒泡”。這兩種系統(tǒng)的區(qū)別在于當(dāng)事件發(fā)生時,相關(guān)元素處理(響應(yīng))事件的優(yōu)先權(quán)不同。
下面舉例說明這兩種事件機(jī)制的區(qū)別 。假設(shè)文檔中有如下結(jié)構(gòu):
<div>
<span>
<a>...</a>
</span>
</div>
因?yàn)檫@三個元素是嵌套的,所以單擊了a,實(shí)際上也就單擊了span和div 。換句話說,這三個元素都應(yīng)該有處理單擊事件的機(jī)會 。在事件捕獲機(jī)制下,處理這個單擊事件的優(yōu)先次序是:div > span > a;而在事件冒泡機(jī)制下,處理這個單擊事件的優(yōu)先次序則是:a > span > div 。
后來,W3C的規(guī)范要求瀏覽器同時支持捕獲和冒泡機(jī)制,并允許開發(fā)人員選擇把事件注冊到哪個階段 。于是就有了下面這個注冊事件的標(biāo)準(zhǔn)方法
target.addEventListener(type, listener, useCapture Optional );
其中:
type:字符串,表示監(jiān)聽的事件類型
listener:監(jiān)聽器對象(JavaScript函數(shù)),在指定事件發(fā)生時可以收到通知
useCapture:布爾值,是否注冊到捕獲階段
在實(shí)際應(yīng)用開發(fā)中,為了確保與IE(因?yàn)樗恢С植东@)兼容,useCapture一般都指定為false(默認(rèn)值也是false)。換句話說,只把事件注冊到冒泡階段;對于上面那個簡單的例子來說,響應(yīng)順序就是:a > span > div 。
冒泡的副作用
如前所述,IE的冒泡事件模型基本上成為了事實(shí)標(biāo)準(zhǔn)。但冒泡有一個副作用。
仍以前面的文檔結(jié)構(gòu)為例,假設(shè)它是界面中的一個菜單項(xiàng),我們希望用戶鼠標(biāo)離開div時隱藏菜單。于是,我們給div注冊了一個mouseout事件 。如果用戶鼠標(biāo)是從div離開的,那么一切正確 。而如果用戶鼠標(biāo)是從a或span離開的,問題就來了。因?yàn)橛捎谑录芭,從這兩個元素開始分派的mouseout事件都會傳播到div,從而導(dǎo)致鼠標(biāo)并沒有離開div,菜單就提前隱藏了。
當(dāng)然,冒泡的副作用不難避免 。比如,給div內(nèi)部的每個元素都注冊mouseout事件,并使用.stopPropagation()方法阻止事件進(jìn)一步傳播 。對于IE,就得將事件對象的cancelBubble屬性設(shè)置為false,取消事件冒泡 。不過,這仍然回到自己處理瀏覽器不兼容性問題的老路上了 。
優(yōu)化方案
為了避免冒泡的副作用,jQuery提供了mouseenter和mouseleave事件,就使用它們來代替mouseover和mouseout吧 。
下面這個摘自jQuery的內(nèi)部函數(shù)withinElement,就是為mouseenter和mouseleave提供支持的 。翻譯了一下注釋,僅供大家參考 。
// 下面這個函數(shù)用于檢測事件是否發(fā)生在另一個元素的內(nèi)部 // 在 jQuery.event.special.mouseenter 和 mouseleave 處理程序中使用
var withinElement = function( event ) {
// 檢測 mouse(over|out) 是否還在相同的父元素內(nèi)
var parent = event.relatedTarget;
// 設(shè)置正確的事件類型
eventevent.type = event.data;
// Firefox 有時候會把 relatedTarget 指定一個 XUL 元素
// 對于這種元素,無法訪問其 parentNode 屬性
try {
// Chrome 也類似,雖然可以訪問 parentNode 屬性
// 但結(jié)果卻是 null
if ( parent && parent !== document && !parent.parentNode ) {
return;
}
// 沿 DOM 樹向上
while ( parent && parent !== this ) {
parentparent = parent.parentNode;
}
if ( parent !== this ) {
// 如果實(shí)際正好位于一個非子元素上面,那好,就處理事件 jQuery.event.handle.apply( this, arguments );
}
// 假定已經(jīng)離開了元素,因?yàn)楹芸赡苁髽?biāo)放在了一個XUL元素上
} catch(e) { }
},
結(jié)論
在jQuery里,可以使用mouseenter和mouseleave事件來避免事件冒泡的副作用。
上一篇文章:
SEO閑談:百度最近雖安靜,外鏈優(yōu)化還需更廣泛
下一篇文章:
jQuery實(shí)戰(zhàn)開發(fā)表單驗(yàn)證與自動完成提示插件
分享到:
QQ空間
新浪微博
騰訊微博
人人網(wǎng)
開心網(wǎng)
百度搜藏
騰訊微博
網(wǎng)易微博
創(chuàng)新互聯(lián)
|
網(wǎng)站建設(shè)
|
網(wǎng)站案例
|
域名注冊
|
網(wǎng)站空間
|
jsp虛擬主機(jī)
|
優(yōu)化排名
|
服務(wù)器租用
|
云主機(jī)
|
網(wǎng)站營銷推廣
|
數(shù)據(jù)庫知識
|
域名轉(zhuǎn)入\轉(zhuǎn)出
電話:028-86922220 13518219792 公司地址:成都市太升南路288號錦天國際A幢1002號
支持信箱:service@cdxwcx.com 版權(quán)所有:創(chuàng)新互聯(lián)-網(wǎng)站設(shè)計(jì)制作 蜀ICP備13010860號
創(chuàng)新互聯(lián)成都專業(yè)網(wǎng)站設(shè)計(jì)制作:網(wǎng)頁設(shè)計(jì),成都網(wǎng)站制作,成都網(wǎng)站建設(shè),jQuery代碼優(yōu)化,jQuery基本事件代碼優(yōu)化
色综合伊人天天综合网中文
|
亚洲欧美日韩在线中文字幕
|
欧美尤物在线观看西比尔
|
亚洲欧洲在线一区二区三区
|
国产乱久久亚洲国产精品
|
欧美日韩精品综合一区
|
日韩精品免费一区二区三区
|
99国产一区在线播放
|
老司机精品视频在线免费
|
欧洲一区二区三区蜜桃
|
欧美一级特黄大片做受大屁股
|
日本免费一区二区三女
|
一区二区三区四区亚洲专区
|
美国女大兵激情豪放视频播放
|
亚洲男人天堂网在线视频
|
日韩国产亚洲一区二区三区
|
99久久人妻中文字幕
|
午夜资源在线观看免费高清
|
国内胖女人做爰视频有没有
|
亚洲国产综合久久天堂
|
伊人色综合久久伊人婷婷
|
欧美人与动牲交a精品
|
日韩欧美国产精品中文字幕
|
av在线免费播放一区二区
|
视频一区二区 国产精品
|
亚洲国产欧美精品久久
|
日本人妻丰满熟妇久久
|
亚洲国产成人av毛片国产
|
国产麻豆一线二线三线
|
亚洲综合精品天堂夜夜
|
国内尹人香蕉综合在线
|
欧美精品亚洲精品一区
|
日本东京热加勒比一区二区
|
青青操成人免费在线视频
|
男人和女人干逼的视频
|
欧美尤物在线观看西比尔
|
这里只有九九热精品视频
|
国产一区二区在线免费
|
国产又黄又猛又粗又爽的片
|
亚洲视频在线观看免费中文字幕
|
亚洲高清一区二区高清
|