-
keypress事件與keydown和keyup的主要區(qū)別
只能捕獲單個(gè)字符,不能捕獲組合鍵
無法響應(yīng)系統(tǒng)功能鍵(如delete,backspace)
不區(qū)分小鍵盤和主鍵盤的數(shù)字字符
不能顯示中文
總而言之,
KeyPress主要用來接收字母、數(shù)字等ANSI字符,而 KeyDown 和 KeyUP 事件過程可以處理任何不被 KeyPress 識(shí)別的擊鍵。諸如:功能鍵(F1-F12)、編輯鍵、定位鍵以及任何這些鍵和鍵盤換檔鍵的組合等。
查看全部 -
具體能觸發(fā)submit事件的行為:
<input type="submit">
<input type="image">
<button type="submit">
當(dāng)某些表單元素獲取焦點(diǎn)時(shí),敲擊Enter(回車鍵)
上述這些操作下,都可以截獲submit事件。
這里需要特別注意:
form元素是有默認(rèn)提交表單的行為,如果通過submit處理的話,需要禁止瀏覽器的這個(gè)默認(rèn)行為 傳統(tǒng)的方式是調(diào)用事件對(duì)象??e.preventDefault()?來處理,?jQuery中可以直接在函數(shù)中最后結(jié)尾return?false即可
jQuery處理如下:
$("#target").submit(function(data)?{? ???return?false;?//阻止默認(rèn)行為,提交表單 });
查看全部 -
Query表單事件之select事件
當(dāng) textarea 或文本類型的 input 元素中的文本被選擇時(shí),會(huì)發(fā)生 select 事件。
這個(gè)函數(shù)會(huì)調(diào)用執(zhí)行綁定到select事件的所有函數(shù),包括瀏覽器的默認(rèn)行為??梢酝ㄟ^在某個(gè)綁定的函數(shù)中返回false來防止觸發(fā)瀏覽器的默認(rèn)行為。select事件只能用于<input>元素與<textarea>元素
查看全部 -
Query表單事件之change事件
<input>元素,<textarea>和<select>元素的值都是可以發(fā)生改變的,開發(fā)者可以通過change事件去監(jiān)聽這些改變的動(dòng)作
input元素
監(jiān)聽value值的變化,當(dāng)有改變時(shí),失去焦點(diǎn)后觸發(fā)change事件。對(duì)于單選按鈕和復(fù)選框,當(dāng)用戶用鼠標(biāo)做出選擇時(shí),該事件立即觸發(fā)。
?
select元素
對(duì)于下拉選擇框,當(dāng)用戶用鼠標(biāo)作出選擇時(shí),該事件立即觸發(fā)
?
textarea元素
多行文本輸入框,當(dāng)有改變時(shí),失去焦點(diǎn)后觸發(fā)change事件
?
change事件很簡單,無非就是注意下觸發(fā)的先后行為,可以看看右邊代碼參考
查看全部 -
jQuery表單事件之blur與focus事件
在之前2.8與2.9節(jié)我們學(xué)過了表單處理事件focusin事件與focusout事件,同樣用于處理表單焦點(diǎn)的事件還有blur與focus事件
它們之間的本質(zhì)區(qū)別:
是否支持冒泡處理
查看全部 -
mouseenter/mouseleave
鼠標(biāo)進(jìn)入/離開元素后觸發(fā)一次事件,元素的父元素不會(huì)冒泡觸發(fā)事件
mouseover/mouseout
鼠標(biāo)進(jìn)入/離開元素觸發(fā)一次事件的同時(shí) 元素的父元素也會(huì)冒泡同時(shí)觸發(fā)一次事件
jQuery推薦我們使用 mouseenter事件
查看全部 -
用event 對(duì)象的which區(qū)別按鍵,敲擊鼠標(biāo)左鍵which的值是1,敲擊鼠標(biāo)中鍵which的值是2,敲擊鼠標(biāo)右鍵which的值是3
查看全部 -
方法一:$ele.click()
綁定$ele元素,不帶任何參數(shù)一般是用來指定觸發(fā)一個(gè)事件,用的比較少
<div?id="test">點(diǎn)擊觸發(fā)<div> $("ele").click(function(){ ????alert('觸發(fā)指定事件') }) $("#test").click(function(){?????$("ele").click()??//手動(dòng)指定觸發(fā)事件? });
方法二:$ele.click( handler(eventObject) )
綁定$ele元素,每次$ele元素觸發(fā)點(diǎn)擊操作會(huì)執(zhí)行回調(diào)?handler函數(shù),這樣可以針對(duì)事件的反饋?zhàn)龊芏嗖僮髁?,方法中的this是指向了綁定事件的元素
<div?id="test">點(diǎn)擊觸發(fā)<div> $("#test").click(function()?{ ????//this指向?div元素 });
方法三:$ele.click( [eventData ], handler(eventObject) )
使用與方法二一致,不過可以接受一個(gè)數(shù)據(jù)參數(shù),這樣的處理是為了解決不同作用域下數(shù)據(jù)傳遞的問題
<div?id="test">點(diǎn)擊觸發(fā)<div> $("#test").click(11111,function(e)?{ ????//this指向?div元素 ????//e.data??=>?11111?傳遞數(shù)據(jù) });
查看全部 -
具體能觸發(fā)submit事件的行為:
<input type="submit">
<input type="image">
<button type="submit">
當(dāng)某些表單元素獲取焦點(diǎn)時(shí),敲擊Enter(回車鍵)
查看全部 -
keydown 是在按之前判斷(當(dāng)時(shí)text還沒有內(nèi)容),觸發(fā)一次空,當(dāng)下一次按鍵時(shí),就觸發(fā)上一次輸入的內(nèi)容,所以就少一個(gè)。
查看全部 -
e.target.value的意思是找到發(fā)生的事件綁定的對(duì)象的value的值,也就是這里的.target1他的value值
查看全部 -
DIV直接使用“focus”和“blur”兩個(gè)方法是無效的,需添加tabindex="0"或者contenteditable="true"屬性。
設(shè)置div為可編輯狀態(tài),則可點(diǎn)擊獲取焦點(diǎn),同時(shí)div的內(nèi)容也是可以編輯的;如:
<div contenteditable="true">11111111111111</div>
設(shè)置div的tabindex,此時(shí)div的內(nèi)容是不可編輯的;如:
<div tabindex="0">11111111111111</div>
PS:設(shè)置tabindex屬性,按鍵盤Tab鍵可讓其獲取焦點(diǎn),其中tabindex的值越小在tab鍵切換的時(shí)候就會(huì)首先聚焦。查看全部 -
當(dāng)一個(gè)元素綁定focusin()后,自身或者其內(nèi)部任何一個(gè)元素獲得焦點(diǎn)的時(shí)候,就會(huì)觸發(fā)focusin()事件;
focus()只能在自身獲得焦點(diǎn)的時(shí)候,才會(huì)觸發(fā)focus()事件。查看全部 -
mouseover 事件要考慮到事件冒泡,也就是a的父級(jí)元素也有綁定mouseover事件的話,那么a的事件觸發(fā)的同時(shí)也會(huì)觸發(fā)父級(jí)元素的事件
查看全部 -
$(".aaron1").mousemove(function(e) { ? ? ? ?$(this).find('p:last').html('移動(dòng)的X位置:' + e.pageX) ? ?}) pageX() 屬性是鼠標(biāo)指針的位置,相對(duì)于文檔的左邊緣。 pageY() 屬性是鼠標(biāo)指針的位置,相對(duì)于文檔的上邊緣。
查看全部
舉報(bào)