-
mouseenter事件和mouseover的區(qū)別
關(guān)鍵點(diǎn)就是:冒泡的方式處理問(wèn)題
原因就是事件冒泡的問(wèn)題,p元素觸發(fā)了mouseover,他會(huì)一直往上找父元素上的mouseover事件,如果父元素有mouseover事件就會(huì)被觸發(fā)
查看全部 -
return false ?;
這個(gè)方法比較暴力,他會(huì)同事阻止事件冒泡也會(huì)阻止默認(rèn)事件;寫(xiě)上此代碼,連接不會(huì)被打開(kāi),事件也不會(huì)傳遞到上一層的父元素;可以理解為return false就等于同時(shí)調(diào)用了event.stopPropagation()和event.preventDefault()
查看全部 -
e.target.value
查看全部 -
e.target就等價(jià)于$('target1')
故e.target.value就等價(jià)于$('target1').val()查看全部 -
mouseover,mouseout,mouseenter,mouseleave的區(qū)別發(fā)現(xiàn),mouseover 和 mouseout 在鼠標(biāo)移入移出時(shí)會(huì)觸發(fā)其父級(jí)元素的?mouseover,mouseout 方法,而?mouseenter,mouseleave 只會(huì)觸發(fā)當(dāng)前鼠標(biāo)移入和移出元素的方法。換句話說(shuō),后兩者是不冒泡的事件,前兩者是會(huì)冒泡的事件。
查看全部 -
卸載事件off()方法
通過(guò).on()綁定的事件處理程序
通過(guò)off() 方法移除該綁定
根據(jù)on綁定事件的一些特性,off方法也可以通過(guò)相應(yīng)的傳遞組合的事件名,名字空間,選擇器或處理函數(shù)來(lái)移除綁定在元素上指定的事件處理函數(shù)。當(dāng)有多個(gè)過(guò)濾參數(shù)時(shí),只有與這些參數(shù)完全匹配的事件處理函數(shù)才會(huì)被移除
綁定2個(gè)事件
$("elem").on("mousedown?mouseup",fn)
刪除一個(gè)事件
$("elem").off("mousedown")
刪除所有事件
$("elem").off("mousedown?mouseup")
快捷方式刪除所有事件,這里不需要傳遞事件名了,節(jié)點(diǎn)上綁定的所有事件講全部銷毀
$("elem").off()
?
查看全部 -
所有的快捷事件在底層的處理都是通過(guò)一個(gè)"on"方法來(lái)實(shí)現(xiàn)的。jQuery on()方法是官方推薦的綁定事件的一個(gè)方法。
基本用法:.on( events ,[?selector ] ,[?data ] )。
最常見(jiàn)的給元素綁定一個(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(){?});
通過(guò)空格分離,傳遞不同的事件名,可以同時(shí)綁定多個(gè)事件
多個(gè)事件綁定不同函數(shù)
$("#elem").on({ ????mouseover:function(){},?? ????mouseout:function(){} });
通過(guò)空格分離,傳遞不同的事件名,可以同時(shí)綁定多個(gè)事件,每一個(gè)事件執(zhí)行自己的回調(diào)方法
將數(shù)據(jù)傳遞到處理程序
function?greet(?event?)?{ ??alert(?"Hello?"?+?event.data.name?);?//Hello?慕課網(wǎng) } $(?"button"?).on(?"click",?{ ??name:?"慕課網(wǎng)" },?greet?);
可以通過(guò)第二參數(shù)(對(duì)象),當(dāng)一個(gè)事件被觸發(fā)時(shí),要傳遞給事件處理函數(shù)的
?
以上都是on方法基本用法,具體可以參考下右邊的代碼的一些使用
查看全部 -
keypress事件與keydown和keyup的主要區(qū)別
只能捕獲單個(gè)字符,不能捕獲組合鍵
無(wú)法響應(yīng)系統(tǒng)功能鍵(如delete,backspace)
不區(qū)分小鍵盤(pán)和主鍵盤(pán)的數(shù)字字符
總而言之,
KeyPress主要用來(lái)接收字母、數(shù)字等ANSI字符,而 KeyDown 和 KeyUP 事件過(guò)程可以處理任何不被 KeyPress 識(shí)別的擊鍵。諸如:功能鍵(F1-F12)、編輯鍵、定位鍵以及任何這些鍵和鍵盤(pán)換檔鍵的組合等。
查看全部 -
keydown事件:
當(dāng)用戶在一個(gè)元素上第一次按下鍵盤(pán)上字母鍵的時(shí)候,就會(huì)觸發(fā)它。使用上非常簡(jiǎn)單,與基本事件參數(shù)處理保持一致,這里使用不在重復(fù)了,列出使用的方法
//直接綁定事件 $elem.keydown(?handler(eventObject)?) //傳遞參數(shù) $elem.keydown(?[eventData?],?handler(eventObject)?) //手動(dòng)觸發(fā)已綁定的事件 $elem.keydown()
?
keyup事件:
當(dāng)用戶在一個(gè)元素上第一次松手鍵盤(pán)上的鍵的時(shí)候,就會(huì)觸發(fā)它。使用方法與keydown是一致的只是觸發(fā)的條件是方法的
?
注意:
keydown是在鍵盤(pán)按下就會(huì)觸發(fā)
keyup是在鍵盤(pán)松手就會(huì)觸發(fā)
理論上它可以綁定到任何元素,但keydown/keyup事件只是發(fā)送到具有焦點(diǎn)的元素上,不同的瀏覽器中,可獲得焦點(diǎn)的元素略有不同,但是表單元素總是能獲取焦點(diǎn),所以對(duì)于此事件類型表單元素是最合適的。
查看全部 -
focus焦點(diǎn)
in 在里面? focusin聚焦
out在外面? focusout失去焦點(diǎn)
查看全部 -
mouseover鼠標(biāo)移入移出元素都會(huì)觸發(fā)事件
mouseenter鼠標(biāo)移入元素會(huì)觸發(fā)事件
查看全部 -
可以這樣理解吧,e.target指向當(dāng)前點(diǎn)擊的DOM元素,點(diǎn)擊哪個(gè)li就是哪個(gè)li,點(diǎn)擊ul就是ul.因?yàn)閖s是會(huì)冒泡的,所以點(diǎn)擊li的時(shí)候,this會(huì)變成ul.
?//多事件綁定一
??????? $("ul").on('click',function(e){
?????????? alert('觸發(fā)的元素是內(nèi)容是: ' + e.target.textContent +$(this).text())
??????? })結(jié)果為:
觸發(fā)的元素是內(nèi)容是: 點(diǎn)擊:觸發(fā)三
??????????????? 點(diǎn)擊:觸發(fā)一
??????????????? 點(diǎn)擊:觸發(fā)二
??????????????? 點(diǎn)擊:觸發(fā)三
??????????????? 點(diǎn)擊:觸發(fā)四查看全部 -
keydown事件觸發(fā)在文字還沒(méi)敲進(jìn)文本框,這時(shí)如果在keydown事件中輸出文本框中的文本,得到的是觸發(fā)鍵盤(pán)事件前的文本,而keyup事件觸發(fā)時(shí)整個(gè)鍵盤(pán)事件的操作已經(jīng)完成,獲得的是觸發(fā)鍵盤(pán)事件后的文本
查看全部 -
e.which 按鍵的鍵值
e.key 按鍵的名字
查看全部 -
表單中的focus與blur不存在冒泡問(wèn)題,而focusin與focusout存在冒泡問(wèn)題
查看全部
舉報(bào)