黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

jQuery事件

系統(tǒng) 2702 0

1. 在頁(yè)面加載后執(zhí)行任務(wù)

??? 1.1 代碼執(zhí)行的時(shí)機(jī)選擇

????????? $('document').ready() 指頁(yè)面的DOM加載完成后執(zhí)行、并不意味著關(guān)聯(lián)的文件都下載完畢

????????? window.onload 指頁(yè)面上所有元素都加載完成后執(zhí)行

??? 1.2 基于一個(gè)頁(yè)面執(zhí)行多個(gè)腳本

????????? $('document').ready() 可以向內(nèi)部的行為隊(duì)列中添加函數(shù)、并按照添加的次序執(zhí)行

????1.3 縮短代碼的簡(jiǎn)寫(xiě)方式:$()函數(shù)

????????? 1) 當(dāng)不傳遞參數(shù)給它時(shí)、默認(rèn)傳遞了document參數(shù)

?????????????? 示例:

????????????????$(document).ready(function(){

?????????????????? //todo;

??????????????? });

??????????????? 簡(jiǎn)寫(xiě)成

??????????????? $().ready(function(){

?????????????????? //todo;

??????????????? });

?????????? 2) 當(dāng)傳遞另一個(gè)函數(shù)作為參數(shù)時(shí)、$()會(huì)隱含對(duì).ready()調(diào)用一次

?????????????? 示例:

?????????????? 上面的代碼可簡(jiǎn)寫(xiě)成:

???????????????$(function(){

???????????????? //todo;

???????????????});

2. 簡(jiǎn)單的事件:jQuery將DOM元素與事件綁定分離

??? 2.1?bind('事件',函數(shù)); 為元素事件綁定函數(shù)。

????????? $('#switch-large').bind('click', function(){

???????????? //todo;

????????? });?

??? 2.2 $(this):this引用的是DOM元素而不是jQuery對(duì)象。

?????????????????????? 該方法表示為this引用的相應(yīng)元素創(chuàng)建一個(gè)jQuery對(duì)象。

??? 2.3 removeClass('參數(shù)'):當(dāng)參數(shù)省略時(shí)表示移除所有的類。

??? 2.4 簡(jiǎn)寫(xiě)的事件:

????????? 示例:

????????? .bind('click',function(){

??????????? //todo

????????? })

??????????等同于

????????? .click(function(){

??????????? //todo

??????????})

3. 復(fù)合事件

??? jQuery中的多數(shù)事件處理方法都會(huì)直接響應(yīng)JavaScript的本地方法、如click方法。

??? 但是也有少數(shù)處于跨瀏覽器優(yōu)化和方便性考慮而添加的自定義處理程序。如.ready();

??? .toggle();.hover();他們被稱為復(fù)合事件。

??? 3.1 .toggle(arg1 arg2)方法

????????? 1)說(shuō)明:該方法接受兩個(gè)函數(shù)作為參數(shù),第一次在元素上單擊調(diào)用第一個(gè)函數(shù),第二次第二個(gè),

????????????????????? 以后交替執(zhí)行。

????????? 2)可使用.toggleClass('className')代替。

????????? 3)示例:

?????????????$(document).ready(

??????????????? function(){

?????????????????? $('#switcher h3').toggle(
??????????????????????function(){
?????????????????????????$('#switcher .button').addClass('hidden');
??????????????????????},
????????????????????? function(){
?????????????????????????$('#switcher .button').removeClass('hidden');??
??????????????????????});
???????????????? });

?????????????? 可替換為

????????????? $(document).ready(
???????????????? ?function(){
???????????????????? $('#switcher h3').bind('click',
??????????????????????? function(){
???????????????????????????$('#switcher .button').toggleClass('hidden');
?????????????????????????});
???????????????? ?});

????3.2 .hover(arg1,arg2)方法

??????????1)說(shuō)明:該方法接收連個(gè)函數(shù)參數(shù),第一個(gè)在鼠標(biāo)進(jìn)入元素時(shí)執(zhí)行,第二個(gè)

????????????????????? 在鼠標(biāo)離開(kāi)元素時(shí)執(zhí)行。

??????????2)示例:

???????????? $(document).ready(
??????????????? function(){
?????????????????? $('#switcher .button').hover(
?????????????????????? function(){
????????????????????????? $(this).addClass('hover');??
???????????????????????},
?????????????????????? function(){
????????????????????????? $(this).removeClass('hover');
???????????????????????}
?????????????????? );
??????????????? }
??????????????);

?????3.3 事件的旅程

?????????? 1)事件捕獲(Netscape)

????????????? jQuery事件

???????????2)事件冒泡(Microsoft)

????????????? jQuery事件

?????????? 3)為了跨瀏覽器的一致性,jQuery始終會(huì)在模型的冒泡階段注冊(cè)事件處理程序

??????????????因此,我們總是可以假定最具體的元素首先獲得響應(yīng)事件的機(jī)會(huì)。

?????????? 4)事件冒泡的副作用:子元素的行為傳播給了父元素。

???? 3.4 限制和終止事件:從時(shí)間(阻止事件在某個(gè)時(shí)間發(fā)送)和空間(阻止事件被傳播到某些元素)上限制

?????????? 1)阻止事件冒泡

??????????????(1)指定事件目標(biāo)(空間)

?????????????????? A)事件對(duì)象:是一種js的結(jié)構(gòu),它會(huì)在元素獲得處理事件的機(jī)會(huì)時(shí)被傳遞給相應(yīng)的事件處理程序。

?????????????????? B)示例:

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

????????????? (2)停止事件傳播(時(shí)間)

?????????????????? A) .stopPropagation()方法:該方法可以完全阻止事件冒泡

?????????????????? B)示例:

????????????????????? $(document).ready(
??????????????????????????function(){
???????????????????????????? $('#switcher .button').click(
?????????????????????????????? ?function(event){
????????????????????????????????? ?$('body').removeClass();
????????????????????????????????????? if(this.id=='switcher-narrow'){
?????????????????????????????????????? ?$('body').addClass('narrow');
????????????????????????????????????? }else if(this.id=='switcher-larger'){
????????????????????????????????????????$('body').addClass('large');
????????????????????????????????????? }
?????????????????????????????????? $('#switcher .button').removeClass('selected');
?????????????????????????????????? $(this).addClass('selected');
?????????????????????????????????? event.stopPropagation();
??????????????????????????????? });
?????????????????????????? });

???????????????(3)默認(rèn)操作:像錨元素有默認(rèn)的鏈接操作,這些操作不屬于事件傳播。要阻止默認(rèn)操作需使用

??????????????????????????????????.preventDefault()方法

???????????????(4)事件傳播和默認(rèn)操作

???????????????????他們是相互獨(dú)立的兩套機(jī)制,在二者任何一方發(fā)生時(shí),都可以終止另一方。如果想要同時(shí)停止事件傳播

?????????????????? 和默認(rèn)操作,可以在事件處理程序中返回false,這是對(duì)在事件對(duì)象上同時(shí)調(diào)用.stopPropagation()和

???????????????????.preventDefault()的一種簡(jiǎn)寫(xiě)方式。

?????????????? (5)移除事件

?????????????????? A) .unbind('event' function) :移除綁定的函數(shù)

?????????????????? B).one('event' function)?:綁定函數(shù)執(zhí)行一次就移除??

?????????3.5 模擬用戶操作

???????????????.trigger('event')? :js自己觸發(fā)事件。?????????????????????????
??????????????

???

???

jQuery事件


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論