bind();
為公主嶺等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及公主嶺網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)、公主嶺網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
參數(shù)一:要綁定事件函數(shù)的事件名。
參數(shù)二:要綁定的事件函數(shù)(事件函數(shù)名),如果將來(lái)有可能刪除該綁定的函數(shù),則必須傳函數(shù)名。
bind()方法可以通過(guò)鏈?zhǔn)秸{(diào)用的形式連續(xù)多次調(diào)用,進(jìn)而個(gè)同一標(biāo)簽的同一事件(不同事件)添加不同的事件函數(shù)。
on('事件名',fn);
one('事件名',fn);該方法綁定的事件函數(shù)只能被觸發(fā)一次。
unbind();
參數(shù)一:要解綁事件函數(shù)的事件名(如果只傳這一個(gè)參數(shù),則該事件名中綁定的函數(shù)全部解除)。
參數(shù)二:要解除綁定的事件函數(shù)名。
off();
注意:bind()和unbind()在3.0后已經(jīng)被on()和off()取代。
事件簡(jiǎn)寫(xiě)本質(zhì)就是簡(jiǎn)化給標(biāo)簽添加事件函數(shù)的操作,標(biāo)準(zhǔn)的添加事件方法:on/bind/one,類似于js的DOM2級(jí)添加事件函數(shù)操作;事件簡(jiǎn)寫(xiě)類似于DOM0級(jí)的事件綁定操作。
jq事件簡(jiǎn)寫(xiě)綁定事件函數(shù)的技術(shù)實(shí)現(xiàn)原理:
1、jq給每一個(gè)事件名定義了同名的函數(shù),用戶調(diào)用的事件簡(jiǎn)寫(xiě)形式,就是在調(diào)用這個(gè)和事件名同名的函數(shù)
2、同名函數(shù)內(nèi)部實(shí)現(xiàn)原理:當(dāng)用戶調(diào)用了該函數(shù),首先獲取該函數(shù)的函數(shù)名(函數(shù)名代表的是事件名),在函數(shù)內(nèi)部通過(guò)on把通過(guò)參數(shù)傳進(jìn)來(lái)的函數(shù)綁定在函數(shù)名對(duì)應(yīng)的事件上。
blur(fn):失去焦點(diǎn)時(shí)觸發(fā)該方法。
focus(fn):當(dāng)鼠標(biāo)或tab按鈕讓元素獲得焦點(diǎn)時(shí),觸發(fā)該函數(shù)。
change(fn):表單元素失去焦點(diǎn)(單選框、復(fù)選框、下拉菜單標(biāo)簽被選中即可觸發(fā),不需等待失去焦點(diǎn)),觸發(fā)該事件。
click(fn):鼠標(biāo)點(diǎn)擊時(shí)觸發(fā)該事件。
dbclick(fn):雙擊元素時(shí)觸發(fā)該事件(注意:把click和dbclick用于同一個(gè)元素會(huì)產(chǎn)生問(wèn)題)。
$(window).scroll(fn):當(dāng)頁(yè)面滾動(dòng)時(shí)觸發(fā)事件。
hover(fn1,fn2):鼠標(biāo)移入觸發(fā)fn1函數(shù),鼠標(biāo)移出觸發(fā)fn2函數(shù)。
復(fù)合事件:toggle().在1.8之前中,復(fù)合了奇、偶次點(diǎn)擊事件,在1.9之后的版本中toggle方法用于jq的動(dòng)畫(huà)
toggle()方法在1.8之前的版本中需要兩個(gè)函數(shù)類型作為參數(shù),奇數(shù)次點(diǎn)擊觸發(fā)第一個(gè)函數(shù),偶數(shù)次店家觸發(fā)第二個(gè)函數(shù)。
事件對(duì)象的獲?。涸谑录|發(fā)的函數(shù)中傳遞event參數(shù)。
event.type:事件類型
event.target:觸發(fā)事件的元素
e.currentTarget:事件綁定在哪個(gè)元素上
event.pageX:鼠標(biāo)相對(duì)于文檔的左側(cè)坐標(biāo)
event.pageY:鼠標(biāo)相對(duì)于文檔的頂部坐標(biāo)
e.preventDefault():取消標(biāo)簽事件,如a標(biāo)簽的頁(yè)面跳轉(zhuǎn)。
e.stopPropagation():阻止事件冒泡
1、阻止事件冒泡
stopPropagation()方法
2、阻止默認(rèn)行為
preventDefault()方法
注意:1、return false 在jQuery中是即阻止事件冒泡又阻止默認(rèn)行為
2、jQuery不支持事件捕獲
解密jQuery事件核心:
一、阻止事件的默認(rèn)行為:? e.preventDefault()
eg:
function jqFun(){ ? ?//點(diǎn)擊的時(shí)候a的class含有‘cur’時(shí)候阻止默認(rèn)行為
$(‘.nav a’).on(‘click’,function(e){
if($(this).hasClass(‘cur)){
e.preventDefault();
}
})
}
return false 等效于同時(shí)調(diào)用e.preventDefault()和e.stopPropagation() ?。(即return false 除了阻止事件的默認(rèn)行為之外 還會(huì)阻止事件冒泡)
二、query 中 ? length ?和size異同點(diǎn)
size()?方法返回被jquery選擇器匹配的元素的數(shù)量。 ??$(selector).size()
length 屬性包含query對(duì)象中的數(shù)目 ? $(selector).length
size()是方法,length是屬性
如果只是獲取元素的個(gè)數(shù),兩者的效果一樣,但是如果獲取的是字符串的長(zhǎng)度就只能用length
size()在1.8版本以后被length取代了,因?yàn)閘ength不需要返回一個(gè)函數(shù)調(diào)用,更加優(yōu)秀。
三、運(yùn)動(dòng)的判斷與停止 stop() ?:animated
stop() ?停止當(dāng)前正在運(yùn)行的動(dòng)作
:animated ? 表示當(dāng)前運(yùn)動(dòng)的狀態(tài)
用$(:animated) 獲取當(dāng)前所有動(dòng)畫(huà)的元素
is(“:animated”) ?判斷是否在運(yùn)動(dòng) ? ?$(‘bbb’).is(“:animated”) ? 返回true ?or false
if(?!$(‘bbb’).is(“:animated”)){ ? ? //bbb元素在不運(yùn)動(dòng)的情況下執(zhí)行...操作
//do something
}
動(dòng)畫(huà)函數(shù) ?animate 函數(shù)
animate 方法執(zhí)行css屬性集的自定義動(dòng)畫(huà)的方法
語(yǔ)法如下:
$( selector ).animate( styles , speed , easing , callback )
styles ?參數(shù)為必選
speed , easing , callback ? 可選
!doctype html
html
head
meta charset="utf-8"
title/title
/head
body
div id="input"
input type="radio" name="choose" value="1"1
input type="radio" name="choose" value="2"2
input type="radio" name="choose" value="3"3
/div
script
window.onload=function(){
var a_input=document.getElementsByTagName("input");
document.body.onkeydown=function(e){
var e=e||window.event;
for(var i=0; ia_input.length;i++){
a_input[i].blur();
}
e.preventDefault();
}
}
/script
/body
/html
給你!不謝