-
冒泡處理的含義?
查看全部 -
如何獲取表單里面輸入的內(nèi)容?
查看全部 -
你們看focus和blur事件都綁到了div上,你點(diǎn)擊input或者點(diǎn)完移開失去焦點(diǎn)當(dāng)然沒反應(yīng)了,因?yàn)閕nput沒有綁定事件啊。
而focusin和focuout也綁在div上,為啥有反應(yīng)呢?
因?yàn)楹笳咴谀泓c(diǎn)input的時(shí)候會(huì)一級(jí)一級(jí)的往上面查父元素,如果父元素有事件就執(zhí)行了,所以你看到了效果。這叫事件冒泡。
為啥前者不行呢?因?yàn)榍罢卟恢С质录芭荨?/p>focus與blur事件:不支持冒泡,focusin與focusout支持冒泡
查看全部 -
click與mousedown的區(qū)別:
click事件其實(shí)是由mousedown于mouseup 2個(gè)動(dòng)作構(gòu)成,所以點(diǎn)擊的動(dòng)作只有在松手后才觸發(fā)
查看全部 -
triggerHandler與trigger的用法是一樣的,重點(diǎn)看不同之處:
triggerHandler不會(huì)觸發(fā)瀏覽器的默認(rèn)行為,.triggerHandler( "submit" )將不會(huì)調(diào)用表單上的.submit()
.trigger() 會(huì)影響所有與 jQuery 對(duì)象相匹配的元素,而 .triggerHandler() 僅影響第一個(gè)匹配到的元素
使用 .triggerHandler() 觸發(fā)的事件,并不會(huì)在 DOM 樹中向上冒泡。 如果它們不是由目標(biāo)元素直接觸發(fā)的,那么它就不會(huì)進(jìn)行任何處理
與普通的方法返回 jQuery 對(duì)象(這樣就能夠使用鏈?zhǔn)接梅?相反,.triggerHandler() 返回最后一個(gè)處理的事件的返回值。如果沒有觸發(fā)任何事件,會(huì)返回 undefined
查看全部 -
$('#elem').trigger('click');
在綁定on的事件元素上,通過trigger方法就可以調(diào)用到alert了,挺簡(jiǎn)單!
再來看看.trigger是什么?
簡(jiǎn)單來講就是:根據(jù)綁定到匹配元素的給定的事件類型執(zhí)行所有的處理程序和行為
trigger除了能夠觸發(fā)瀏覽器事件,同時(shí)還支持自定義事件,并且自定義時(shí)間還支持傳遞參數(shù)
$('#elem').on('Aaron', function(event,arg1,arg2) {
??? alert("自觸自定義時(shí)間")
?});
$('#elem').trigger('Aaron',['參數(shù)1','參數(shù)2'])查看全部 -
event.which:獲取在鼠標(biāo)單擊時(shí),單擊的是鼠標(biāo)的哪個(gè)鍵
event.which 將 event.keyCode 和 event.charCode 標(biāo)準(zhǔn)化了。event.which也將正?;陌粹o按下(mousedown 和 mouseupevents),左鍵報(bào)告1,中間鍵報(bào)告2,右鍵報(bào)告3
event.currentTarget : 在事件冒泡過程中的當(dāng)前DOM元素
冒泡前的當(dāng)前觸發(fā)事件的DOM對(duì)象, 等同于this.
查看全部 -
event.pageX 和 event.pageY:獲取鼠標(biāo)當(dāng)前相對(duì)于頁(yè)面的坐標(biāo)
通過這2個(gè)屬性,可以確定元素在當(dāng)前頁(yè)面的坐標(biāo)值,鼠標(biāo)相對(duì)于文檔的左邊緣的位置(左邊)與 (頂邊)的距離,簡(jiǎn)單來說是從頁(yè)面左上角開始,即是以頁(yè)面為參考點(diǎn),不隨滑動(dòng)條移動(dòng)而變化
查看全部 -
綁定2個(gè)事件
$("elem").on("mousedown mouseup",fn)
刪除一個(gè)事件
$("elem").off("mousedown")
刪除所有事件
$("elem").off("mousedown mouseup")
快捷方式刪除所有事件,這里不需要傳遞事件名了,節(jié)點(diǎn)上綁定的所有事件講全部銷毀
$("elem").off()
查看全部 -
.on( events ,[ selector ] ,[ data ], handler(eventObject) )
在on的第二參數(shù)中提供了一個(gè)selector選擇器,簡(jiǎn)單的來描述下
參考下面3層結(jié)構(gòu)
<div class="left">
? ?<p class="aaron">
? ? ? ?<a>目標(biāo)節(jié)點(diǎn)</a> //點(diǎn)擊在這個(gè)元素上
? ?</p>
</div>給出如下代碼:
$("div").on("click","p",fn)
事件綁定在最上層div元素上,當(dāng)用戶觸發(fā)在a元素上,事件將往上冒泡,一直會(huì)冒泡在div元素上。如果提供了第二參數(shù),那么事件在往上冒泡的過程中遇到了選擇器匹配的元素,將會(huì)觸發(fā)事件回調(diào)函數(shù)
查看全部 -
基本用法:.on( events ,[?selector ] ,[?data ] )
最常見的給元素綁定一個(gè)點(diǎn)擊事件,對(duì)比一下快捷方式與on方式的不同
$("#elem").click(function(){}) ?//快捷方式
$("#elem").on('click',function(){}) //on方式最大的不同點(diǎn)就是on是可以自定義事件名,當(dāng)然不僅僅只是如何,繼續(xù)往下看
多個(gè)事件綁定同一個(gè)函數(shù)
$("#elem").on("mouseover mouseout",function(){ });
通過空格分離,傳遞不同的事件名,可以同時(shí)綁定多個(gè)事件
多個(gè)事件綁定不同函數(shù)
$("#elem").on({
? ?mouseover:function(){}, ?
? ?mouseout:function(){}
});通過空格分離,傳遞不同的事件名,可以同時(shí)綁定多個(gè)事件,每一個(gè)事件執(zhí)行自己的回調(diào)方法
查看全部 -
focus()在元素本身產(chǎn)生,focusin()在元素包含的元素中產(chǎn)生
blur與focusout也亦是如此
查看全部 -
當(dāng)一個(gè)元素,或者其內(nèi)部任何一個(gè)元素失去焦點(diǎn)的時(shí)候,比如input元素,用戶在點(diǎn)擊失去焦的時(shí)候,如果開發(fā)者需要捕獲這個(gè)動(dòng)作,jQuery提供了一個(gè)focusout事件
查看全部 -
當(dāng)一個(gè)元素,或者其內(nèi)部任何一個(gè)元素獲得焦點(diǎn)的時(shí)候,例如:input元素,用戶在點(diǎn)擊聚焦的時(shí)候,如果開發(fā)者需要捕獲這個(gè)動(dòng)作的時(shí)候,jQuery提供了一個(gè)focusin事件
查看全部 -
$(selector).hover(handlerIn, handlerOut)
handlerIn(eventObject):當(dāng)鼠標(biāo)指針進(jìn)入元素時(shí)觸發(fā)執(zhí)行的事件函數(shù)
handlerOut(eventObject):當(dāng)鼠標(biāo)指針離開元素時(shí)觸發(fā)執(zhí)行的事件函數(shù)
查看全部
舉報(bào)