多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > web前端 > jquery > jQuery中的事件總結

jQuery中的事件總結

來源:程序員人生   發布時間:2014-01-29 18:21:28 閱讀次數:3017次
1.$(document).ready()

$(document).ready()是jQuery中響應JavaScript內置的onload事件并執行任務的一種典型方式。它和onload具有類似的效果。但是也有一些差異:

當一個文檔完全下載到瀏覽器中時,會觸發window.onload事件。而使用$(document).ready()注冊的事件處理程序會在html下載完成并解析為Dom樹之后,代碼就可以運行,但并不意味著所有關聯文件都已經下載完畢。
一個頁面中一般只有一個onload事件處理程序,而且只能一次保存對一個函數的引用;而$(document).ready()是可以有多個。
一般來說$(document).ready()都要優于使用onload事件處理程序。但是如果關聯文件還沒有加載完成,則類似圖像高度、寬度的屬性的調用就會有問題,因此需要在不同的時候選擇合適的方法。

$(document).ready()有三種寫法,分別是:

> $(document).ready(function() {
//this is the coding...

});

>$().ready(function() {
//this is the coding...
});
>$(function() {
//this is the coding...
});

2. 事件捕獲與事件冒泡

事件捕獲: 允許多個元素響應事件的一種策略。在事件捕獲的過程中,事件首先會交給最外層的元素,接著再交給更具體的元素。
事件冒泡:另外一種相反的策略叫時間冒泡,當事件發生時,會首先發送給最具體的元素,在這個元素獲得響應機會之后,事件會向上冒泡到更一般的元素。事件冒泡有時候會產生副作用,導致始料不及的行為。

 

3.阻止事件冒泡的三種方法

指定默認操作

通過調用.preventDefault()方法可以在出發默認操作之前終止事件。

調用 event.stopPropagation()停止事件傳播
jQuery提供了一個.stopPropagation()方法,使用該方法可以完全阻止事件冒泡。實例代碼如下:

使用stopPropagation()方法阻止事件冒泡
$(document).ready(function() {
$('switcher').click(function(event){
if(this.id == 'switcher-narrow'){
$('body').addClass('narrow');
}
else if(this.id == 'switcher-large'){
$('body').addClass('large');
}
$('switcher .button').romoveClass('selected');
$(this).addClass('selected');
event.stopPropagation();
};)
});

使用event.tatget屬性 明確事件對象

事件處理程序中的變量event保存著事件對象。而event.tatget屬性保存著發生事件的目標元素。這個屬性是DOM API中規定的,但是沒有被所有瀏覽器實現。jQuery對這個事件對象進行了必要的擴展,從而在任何瀏覽器中都能夠使用這個屬性。通過.target,可以確定DOM中首先接收到事件的元素。而且,我們知道this引用的是處理事件的DOM元素。

使用event.tatget屬性 明確事件對象阻止事件冒泡的代碼如下:

$(document).ready(function() {
$('switcher').click(function(event){
if(event.target == this)
{
$('switcher .button').toggleClass('hidden');
}
};)
});

4.常用的事件綁定

jQuery通過使用.bind()方法為元素進行事件綁定,通過使用.unbind()方法為元素進行解除綁定。而且.bind()方法是可以執行多次綁定的,如果沒有綁定,在進行解除綁定的時候,這都是安全的。

很多時候某一個事件只需要觸發一次,隨后就要立即解除綁定,按照傳統的做法,我們可能會先進行事件綁定,然后在事件執行完畢后進行解除綁定。jQuery為我們提供了一種簡寫的方法.one來專門解決上述情景下的繁瑣的代碼編寫,示例如下:

$(document).ready(function(){
$('#swotcjer').one('click',toggleStyleSwitcher);
});

5.復合事件

在進行事件捕獲的時候,常常需要捕獲組合的用戶操作,并且以多個函數作為響應,這些事件我們稱為復合事件。

jQuery提供的.read()方法就是最常用的符合事件方法之一,除此之外,還有進行交互處理的時候用到的兩個函數:

.hover(over,out) 一個模仿懸停事件(鼠標移動到一個對象上面及移出這個對象)的方法。這是一個自定義的方法,它為頻繁使用的任務提供了一種“保持在其中”的狀態。
.toggle(fn,fn) 每次點擊時切換要調用的函數。

作者:深山老林
出處:http://wlb.cnblogs.com/

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 亚洲理论欧美理论在线观看 | 亚洲天堂二区 | 欧美成人精品一区二区 | 欧美巨大另类极品videosbest | 国产精品欧美韩国日本久久 | 欧美日韩国产高清一区二区三区 | 欧美一区二区三区性 | 国产高清在线精品免费不卡 | 免费v片 | 在线免费日本 | 国产亚洲制服 | 久草一级片 | 久青草青综合在线视频 | 中文字幕 视频一区 | 欧美精品一级毛片 | 动画毛片 | 波多野结衣在线观看一区 | 9丨精品国产高清自在线看 ⅹxx日本护土 | 欧美一区二区三区四区在线观看 | 国产成人毛片精品不卡在线 | 国产成人 免费观看 | 国产成人免费片在线观看 | 亚洲国产欧美在线不卡中文 | 性色在线视频精品 | 成人在线视频网 | 伊人精品影院一本到欧美 | 免费一级欧美大片久久网 | 一本之道无吗一二三区 | 亚洲国产福利精品一区二区 | 美女网站视频免费 | 精品999视频 | 久久精品视频大全 | 波多野结衣在线中文字幕 | 一区二区不卡不卡一卡 | 在线观看日韩欧美 | 小说区图片区亚洲 | 最新国产在线观看福利91 | 色综合小说久久综合图片 | 成 黄 色 激 情视频网站 | 欧美三级欧美一级 | 国产欧美二区三区 |