-
keydown有延遲?
第一次按下鍵盤,沒反應。第二次按下,下面顯示鍵盤只有第二次輸入的內容
keydown事件觸發在文字還沒敲進文本框,這時如果在keydown事件中輸出文本框中的文本,得到的是觸發鍵盤事件前的文本,就是當你按下鍵盤時先觸發keydown,再顯示字母
查看全部 -
鍵盤事件:
在鍵盤事件中,將用戶行為分解成2個動作,鍵盤按下與松手,針對這兩種動作,jQuery分別提供可對應的keydown與keyup方法來監聽。
查看全部 -
submit事件:監聽提交表單動作。
具體能觸發submit事件的行為:
<input type="submit">
<input type="image">
<button type="submit">
當某些表單元素獲取焦點時,敲擊Enter(回車鍵)
上述這些操作下,都可以截獲submit事件。
這里需要特別注意:
form元素是有默認提交表單的行為,如果通過submit處理的話,需要禁止瀏覽器的這個默認行為 傳統的方式是調用事件對象??e.preventDefault()?來處理,?jQuery中可以直接在函數中最后結尾return?false即可
jQuery處理如下:
$("#target").submit(function(data)?{? ???return?false;?//阻止默認行為,提交表單 });
查看全部 -
select事件:
當textarea或文本類型的input元素中的文本唄選擇時,會發生select事件。
這個函數會調用執行綁定到select事件的所有函數,包括瀏覽器的默認行為??梢酝ㄟ^在某個綁定的函數中返回false來防止觸發瀏覽器的默認行為。
select事件只能用于input元素和textarea元素。
查看全部 -
change事件:
<input><textarea><select>元素的值都是可以發生改變的,開發者可以通過change事件去監聽這些改變的動作。
查看全部 -
冒泡處理最佳回答:
冒泡處理:也可以從字面意思理解為,氣泡在水中會向上浮動。那么我們現在就解釋什么是氣泡浮動就好了。
氣泡:也就是所謂的觸發事件。
向上浮動:不僅會觸發自身的事件,而且還會一級一級地向上浮動查找祖輩節點的同效果事件,直到根節點為止,沒完沒了。
舉例:在#div1 中有個子元素?#div2
定義:#div1 的mouseout事件; #div2 的mouseout事件?
效果:當觸發#div2 的mouseout事件時,一定會觸發#div1 的mouseout事件。因為#div2觸發事件后,它還沒完,還會向上一級級查找祖輩們有沒有定義相同的mouseout事件,如果有就觸發,這里顯然有定義#div1的mouseout事件,而且#div1還是#div2的父輩元素,所以會觸發#div1的mouseout事件。(這里說的有點多,顯得有點累贅,主要是想讓你能理解。)
如果把mouseout事件 替換成 mouseleave事件就不會了,因為mouseleave事件,只會觸發自身的事件,不會冒泡祖輩們,讓他們安靜一點。
瀏覽器的解析DOM方式之一
瀏覽器解析DOM主要有兩種方式,冒泡機制和委托機制,IE瀏覽器主要采用的是冒泡機制,谷歌以及其他瀏覽器主要采用委托機制。
冒泡機制即,作用于DOM上的操作會冒泡傳遞,就是先作用在最具體的元素然后向上冒泡,繼續作用他的父元素,到祖元素,再到最后的整個DOM文檔(當然這個是可以設置冒泡阻止到那兒)
委托機制相反,作用于DOM上的操作會最先作用在整個DOM文檔上,然后才會找到事件最具體的元素。
?????? 這里的冒泡處理,應該是指阻止了冒泡排序,并兼容了委托機制,提高網頁兼容性。
查看全部 -
冒泡事件:
冒泡事件最好的理解就是和水的冒泡是一樣的,就是從最底層向上去找尋參數,在html中就是從最里層向最外層去尋找合適的標簽之后就停止。
查看全部 -
什么是冒泡處理?
冒泡現象其實可以理解為:遇到“問題”找“爸爸”。
?“問題”:就是一些特定的事件。?
“爸爸”:就是父級元素。?
舉例:focusin案例中第二個綠盒子里的input元素被我們點擊時,就觸發了focusin事件。
?但是input表示:我很方啊,我沒有這個事件的處理方法?。≌φ??找老爸,問他有沒有!
?綠盒子老爸說:莫方,我有,讓我來! 最終就調用了綠盒子老爸的方法。
?PS:如果綠盒子老爸自己也沒有呢?他會問他的老爸,以此類推,一直問到老祖宗window,都沒有的話就只好啥也不做啦!
有問題找爸爸,這是一個方面,但是如前面的mouseover,mouseout和mouseenter和mouseleave,如果mouseover父子同時有的話,在子元素上移動就都執行,mouseenter就只執行子元素,這里說的focus如果子元素有focus ,父元素有focusin,在子元素上聚焦就會都執行 ,如果focusin在子元素上,父元素也有,就都執行,如果是focus 就只執行自己(前提是父元素上沒有focusin,有沒有focus無所謂),簡單的說就是如果父子都有這個事件,在子元素上觸發,父元素和子元素的事件都會觸發
focus,blur是表單事件,說白了只有表單控件如input,textarea上才可以添加,而表單空間之間幾乎不存在父子嵌套的關系,所以談不上會引發冒泡事件,像div,p等其他的html元素是不可以添加這個事件的,那么,也就談不上子元素父元素之間的事件相互激發,談不上冒泡了。。focusin ,focusout是鼠標事件,可以添加在任何html元素上的,而很明顯的html元素會存在嵌套關系,比如div里裝一個表單控件input,那么一旦div 和input上都有focusin事件,點擊input子元素的時候,肯定會觸發父元素div上的冒泡事件。
一句話:究其根本是:focus? blur 是存在于幾乎無嵌套關系的表單控件上,不存在冒泡事件
focusin? focusout是存在所有html元素上的,有嵌套關系的元素就可以引發冒泡事件。
查看全部 -
表單事件之blur與focus事件。
focusin、focusout事件與blur事件、focus事件的本質區別為:是否支持冒泡處理。
focus()在元素本身產生,focusin()在元素包含的元素中產生。
focusin()在元素包含的元素中產生的意思是指子元素聚焦時才能觸發父元素的focusin()方法。
focus只在元素本身起作用,例如$(".aaron")本身是個div,div是無法聚焦的,第一個函數沒有被調用。focusin作用在元素包含的元素,即$(".aaron")本身是個div,div中有input框,那么input框被聚焦,那也說明focusin被調用生效
查看全部 -
當一個元素,或者其內部任何一個元素失去焦點時,使用focusout事件可以捕獲這個動作。
查看全部 -
$("input:last").focusin('慕課網', function fn(e) {
? ? ? ? ? ? ?$(this).val(e.data)
? ? ? ? ? ? });
首先,因為$("ele").focusin('data','fn'),點擊文本框觸發焦點事件,'data'傳入了數據:“慕課網”儲存在focusin事件里面(也就是這里的e),后面的e.data就是讀取你傳入的數據:“慕課網”這3個中文。val()就是把data數據輸入到input文本框里。也就是點擊文本框的時候會出現“慕課網”的原因了。
查看全部 -
focusin事件:
當一個元素或者其內部任何一個元素獲得焦點時,使用focusin事件可以捕獲這個動作。
查看全部 -
hover ?是鼠標進入 ?和 鼠標出去兩個動作
查看全部 -
jquery設置多個css的屬性是這樣的--->????$(
"p"
).css({
"background-color"
:
"yellow"
,
"font-size"
:
"200%"
});???屬性鍵值對是需要用大括號包起來的。
查看全部 -
為什么鼠標離開綁定mouseover的元素也會觸發moseover
因為離開子元素,相當于又重新進入父元素,所以會觸發父元素的mouseover事件
查看全部
舉報