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