jquery 筆記 事件
更新時間:2011年11月02日 11:06:43 作者:
寫js已經(jīng)有很久了,但是對js的詳細(xì)了解還是很膚淺的,這幾天在看jquery,在其中有一些新的發(fā)現(xiàn)和體會,記錄下來
瀏覽器模型:
1、DOM第0級模型
事件處理程序通過吧函數(shù)實例的引用指派到DOM元素的屬性而聲明。這也是我們最常見的,如onclick等
<img onclick="alert('hello');" src="1.jpg" />
$("img").onmouseover = function(){alert("hello");}
(1)、其中比較好玩的是Event實例和事件冒泡
Event實例是大多數(shù)瀏覽器把事件的類實例作為第一個參數(shù)傳給函數(shù),但是ie中則是將event指定到window的屬性;在獲取目標(biāo)元素w3c標(biāo)準(zhǔn)瀏覽器存在target,ie則取srcElement屬性,為兼容事件如下寫:
$("img").onclick=function(event){
if(!event) event = window.event;
var target = event.target?event.target:event.srcElement;
}
(2)、事件冒泡
目標(biāo)元素獲得機(jī)會吃力事件,事件模型堅持目標(biāo)元素的父元素,看是否為同類型建立了處理程序,如果是,則也調(diào)用處理程序,直到DOM樹頂部
對于w3c標(biāo)準(zhǔn)瀏覽器可使用event的stopPropagation(),對于ie可使用event的cancelBubble取消冒泡
2、第2級模型
解決0級模型中每個屬性存儲事件只能注冊一個處理程序缺陷。
$("img").addEventListener('click',function1,false).addEventListener('click',function2,false);
在2級模型中,事件被觸發(fā),先從DOM樹向下傳播到目標(biāo)元素(捕捉階段),再向上冒泡,上面的addEventListener第三個參數(shù)為false時建立冒泡型處理程序,為ture時建立捕捉型處理程序。
這里的捕捉型也是第一次聽說,因為ie6和7就不支持第2級模型,所以也難怪,但部分ie瀏覽器支持類似冒泡型的有attachEvent(eventName,handler)。
那么jquery的bind則我們解決了這些。。。
參考《jquery實戰(zhàn)》
1、DOM第0級模型
事件處理程序通過吧函數(shù)實例的引用指派到DOM元素的屬性而聲明。這也是我們最常見的,如onclick等
復(fù)制代碼 代碼如下:
<img onclick="alert('hello');" src="1.jpg" />
$("img").onmouseover = function(){alert("hello");}
(1)、其中比較好玩的是Event實例和事件冒泡
Event實例是大多數(shù)瀏覽器把事件的類實例作為第一個參數(shù)傳給函數(shù),但是ie中則是將event指定到window的屬性;在獲取目標(biāo)元素w3c標(biāo)準(zhǔn)瀏覽器存在target,ie則取srcElement屬性,為兼容事件如下寫:
復(fù)制代碼 代碼如下:
$("img").onclick=function(event){
if(!event) event = window.event;
var target = event.target?event.target:event.srcElement;
}
(2)、事件冒泡
目標(biāo)元素獲得機(jī)會吃力事件,事件模型堅持目標(biāo)元素的父元素,看是否為同類型建立了處理程序,如果是,則也調(diào)用處理程序,直到DOM樹頂部
對于w3c標(biāo)準(zhǔn)瀏覽器可使用event的stopPropagation(),對于ie可使用event的cancelBubble取消冒泡
2、第2級模型
解決0級模型中每個屬性存儲事件只能注冊一個處理程序缺陷。
復(fù)制代碼 代碼如下:
$("img").addEventListener('click',function1,false).addEventListener('click',function2,false);
在2級模型中,事件被觸發(fā),先從DOM樹向下傳播到目標(biāo)元素(捕捉階段),再向上冒泡,上面的addEventListener第三個參數(shù)為false時建立冒泡型處理程序,為ture時建立捕捉型處理程序。
這里的捕捉型也是第一次聽說,因為ie6和7就不支持第2級模型,所以也難怪,但部分ie瀏覽器支持類似冒泡型的有attachEvent(eventName,handler)。
那么jquery的bind則我們解決了這些。。。
參考《jquery實戰(zhàn)》
相關(guān)文章
jQuery form插件之formDdata參數(shù)校驗表單及驗證后提交
Form Plugin API 里提供了很多有用的方法可以讓你輕松的處理表單里的數(shù)據(jù)和表單的提交過程,通過本文給大家介紹jQuery form插件之formDdata參數(shù)校驗表單及驗證后提交的相關(guān)知識,感興趣的朋友一起學(xué)習(xí)吧2016-01-01Django中使用jquery的ajax進(jìn)行數(shù)據(jù)交互的實例代碼
這篇文章主要介紹了Django中使用jquery的ajax進(jìn)行數(shù)據(jù)交互的相關(guān)知識,非常不錯,具有參考借鑒價值 ,需要的朋友可以參考下2017-10-10jQuery插件Zclip實現(xiàn)完美兼容個瀏覽器點擊復(fù)制內(nèi)容到剪貼板
本文將結(jié)合實例講解如何使用一款基于jQuery的插件——Zclip來實現(xiàn)復(fù)制內(nèi)容到剪貼板的功能。其實IE上有個方法可以實現(xiàn)點擊復(fù)制,但是由于只是IE獨有,所以我們不提倡。而Zclip是利用一個隱藏的flash文件來完成復(fù)制的功能,關(guān)鍵是它兼容當(dāng)前各主流瀏覽器。2015-04-04JQuery實現(xiàn)表格數(shù)據(jù)行上移與下移
這篇文章主要為大家詳細(xì)介紹了JQuery實現(xiàn)表格數(shù)據(jù)行上移與下移,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02jQuery基礎(chǔ)知識點總結(jié)(DOM操作)
下面小編就為大家?guī)硪黄猨Query基礎(chǔ)知識點總結(jié)(DOM操作)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06jQuery模板技術(shù)和數(shù)據(jù)綁定實現(xiàn)代碼
如果你用過ASP.NET的數(shù)據(jù)綁定控件,也用過ASP或者JSP里那種通過輸出HTML元素在頁面上顯示數(shù)據(jù)的方法,你就知道ASP.NET數(shù)據(jù)綁定控件有多么方便。如果能夠?qū)⑼瑯拥墓δ茉跒g覽器端用HTML和JavaScript實現(xiàn),那該是多少美妙的事情。2010-05-05