-
測(cè)試二是先選中p標(biāo)簽,然后設(shè)置一個(gè)點(diǎn)擊事件,調(diào)用函數(shù),該函數(shù)的功能是彈出一個(gè)窗口顯示文本節(jié)點(diǎn)的內(nèi)容,再然后選中第二個(gè)button按鈕,也設(shè)置夜歌點(diǎn)擊事件,點(diǎn)擊該按鈕會(huì)調(diào)用上面的函數(shù)。測(cè)試三是先設(shè)置一個(gè)函數(shù)data(),該函數(shù)的功能是彈出一個(gè)窗口顯示e的值,然后在設(shè)置一個(gè)函數(shù)a(),該函數(shù)先選中第三個(gè)button,然后綁定一個(gè)點(diǎn)擊事件,點(diǎn)擊之后將1111傳遞給data函數(shù)的e,然后a()表示調(diào)用該函數(shù)
查看全部 -
Dom?3?5-2 只有body內(nèi)的跟選擇器匹配的元素,才會(huì)觸發(fā)事件回調(diào)函數(shù),不匹配的只是往上繼續(xù)冒泡.
查看全部 -
<script type="text/javascript">
? ? //點(diǎn)擊更新次數(shù)
? ? $("button:first").click(function(event,bottonName) {
? ? ? ? bottonName = bottonName || 'first';
? ? ? ? update($("span:first"),$("span:last"),bottonName);
? ? });
? ? //通過(guò)自定義事件調(diào)用,更新次數(shù)
? ? $("button:last").click(function() {
? ? ? ? $("button:first").trigger('click','last');
? ? });
? ? function update(first,last,bottonName) {
? ? ? ? first.text(bottonName);
? ? ? ? var n = parseInt(last.text(), 10);
? ? ? ? last.text(n + 1);
? ? }
? ? </script>
查看全部 -
e.target.textContent
查看全部 -
trigger事件不能實(shí)現(xiàn)envent,但是可以使用triggerHandler方法來(lái)實(shí)現(xiàn)event。
查看全部 -
trigger自動(dòng)執(zhí)行是會(huì)有冒泡發(fā)生的,點(diǎn)擊button:first時(shí)候trigger自動(dòng)執(zhí)行a的綁定事件click(就是點(diǎn)擊<a>),trigger是會(huì)冒泡的!所以點(diǎn)擊了<a>標(biāo)簽就點(diǎn)擊了它所在的<div>,<div>有alert的事件就會(huì)發(fā)生,聚焦事件就不說(shuō)了;
再說(shuō)一下,triggerHandle,他不會(huì)發(fā)生冒泡,所以當(dāng)點(diǎn)擊button:last時(shí)候呢,就不會(huì)出現(xiàn)alert啦,就僅僅是點(diǎn)擊了<a>標(biāo)簽和聚焦操作。
查看全部 -
trigger事件:
觸發(fā)事件函數(shù),比如你點(diǎn)擊了按鈕B,B上綁著trigger按鈕A的函數(shù),那么按鈕A的函數(shù)被觸發(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 樹(shù)中向上冒泡。 如果它們不是由目標(biāo)元素直接觸發(fā)的,那么它就不會(huì)進(jìn)行任何處理
與普通的方法返回 jQuery 對(duì)象(這樣就能夠使用鏈?zhǔn)接梅?相反,.triggerHandler() 返回最后一個(gè)處理的事件的返回值。如果沒(méi)有觸發(fā)任何事件,會(huì)返回 undefined
?
查看全部 -
parseInt() 函數(shù)可解析一個(gè)字符串,并返回一個(gè)整數(shù)?!彼淖饔镁褪墙馕龀鲎址械谝粋€(gè)出現(xiàn)的數(shù)字,第一個(gè)參數(shù)就是要求解析的字符串,第二個(gè)參數(shù)是對(duì)第一個(gè)參數(shù)的補(bǔ)充,是數(shù)字幾就代表第一個(gè)參數(shù)中的數(shù)字是什么進(jìn)制。例如:parseInt("11",2); //返回 3 (2+1) ?就是說(shuō) ?把“11”當(dāng)做二進(jìn)制看然后解析為十進(jìn)制數(shù)字“3”.
查看全部 -
parseInt(數(shù)字, 進(jìn)制位);
bottonName = bottonName || 'first';
這句話(huà)怎么理解?
? ? function update(first,last,bottonName) {
? ? ? ? first.text(bottonName);
? ? ? ? var n = parseInt(last.text(), 10);
? ? ? ? last.text(n + 1);
? ? }
這個(gè)update函數(shù)能不能解釋一下
如果存在bottonName,則bootonName=bottonName,否則,bottonName=first
update既不是jquery函數(shù)也不是原生函數(shù),是自定義函數(shù),你可以自己隨意改動(dòng)他的參數(shù)跟功能,只要調(diào)用的時(shí)候保持名稱(chēng)一致就可以
function
?update(first,last,bottonName)?{
?????????
first.text(bottonName);????????
//?將傳遞過(guò)來(lái)的first參數(shù)文本改為bottonName
?????????
var
?n?=?parseInt(last.text(),?10);????????
//獲取當(dāng)前l(fā)ast.text的文本內(nèi)容,10進(jìn)制取值,建立變量n,賦值為所取得的值。
?????????
last.text(n?+?1);????}?
//?將傳遞進(jìn)來(lái)的last參數(shù)文本內(nèi)容修改為n+1,實(shí)現(xiàn)點(diǎn)擊數(shù)按照實(shí)際點(diǎn)擊數(shù)增加。
查看全部 -
第一個(gè)click沒(méi)有阻止冒泡,那為什么它只冒泡到外層div,沒(méi)有冒泡到body
因?yàn)樗芭莸絛iv層?就被div?層點(diǎn)擊事件 event.stopPropagation()?阻止冒泡
event.stopPropagation() 方法:阻止事件冒泡
事件是可以冒泡的,為防止事件冒泡到DOM樹(shù)上,也就是不觸發(fā)的任何前輩元素上的事件處理函數(shù)
就是說(shuō)不會(huì)觸發(fā)到div的父級(jí)以上,如果是在span綁定的click后面加的話(huà)div都不會(huì)顯示被點(diǎn)擊
查看全部 -
this指觸發(fā)事件的元素,無(wú)論你鼠標(biāo)點(diǎn)擊在什么位置,觸發(fā)事件的元素都是ul,所以this指ul,但是e.target指鼠標(biāo)的焦點(diǎn)元素,如果你點(diǎn)擊到了ul內(nèi)部的li,則e.target指的就是li,但是如果你點(diǎn)擊的是ul其他的非li部分,則this和e.target是一樣的。
如果不是通過(guò)冒泡產(chǎn)生的事件,則this和e.target沒(méi)有區(qū)別。
this是可以變化
但event.target不會(huì)變化,它永遠(yuǎn)是直接接受事件的目標(biāo)DOM元素。
查看全部 -
$( "button" ).on( "click", { ?name: "慕課網(wǎng)" }, greet );這句話(huà)怎么理解?
當(dāng)在"button" 上 點(diǎn)擊的時(shí)候, 將name為 慕課網(wǎng) 的參數(shù)傳遞給 greet 函數(shù)。
function greet( event ) {
?alert( "Hello " + event.data.name ); //Hello 慕課網(wǎng)
}然后, 在greet函數(shù)中, 通過(guò)事件,觸發(fā)該函數(shù),?
實(shí)際上, event.data 就是??" name: "慕課網(wǎng)" "
然后, 在這里面有個(gè)name的自定義屬性為 "慕課網(wǎng)"
老師的解釋是: 可以通過(guò)第二參數(shù)(對(duì)象),當(dāng)一個(gè)事件被觸發(fā)時(shí),要傳遞給事件處理函數(shù)的
查看全部 -
在input元素上綁定keydown事件會(huì)發(fā)現(xiàn)一個(gè)問(wèn)題:
每次獲取的內(nèi)容都是之前輸入的,當(dāng)前輸入的獲取不到
keydown事件觸發(fā)在文字還沒(méi)敲進(jìn)文本框,這時(shí)如果在keydown事件中輸出文本框中的文本,得到的是觸發(fā)鍵盤(pán)事件前的文本,而keyup事件觸發(fā)時(shí)整個(gè)鍵盤(pán)事件的操作已經(jīng)完成,獲得的是觸發(fā)鍵盤(pán)事件后的文本
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)換檔鍵的組合等。
查看全部 -
down事件返回時(shí)的value
用console和e.target.value.length測(cè)試后應(yīng)該是?
value值是在keydown事件之后和在keyup事件之前才傳遞過(guò)去的 所以在第一個(gè)框里輸入第一次字符是不顯示的而在第二個(gè)框里是顯示的
查看全部
舉報(bào)