在jquery中,繫結事件的意思是將普通的時間event繫結在DOM節點上,當DOM節點被選中時,將事件與之繫結,方便使用者提供相應的操作;jquery中有bind、live、delegate和on四種方法來繫結事件,其中live方法已經被移除,建議使用on來繫結事件。
本教學操作環境:windows10系統、jquery3.6.0版本、Dell G3電腦。
事件繫結:將普通的事件event繫結在DOM節點上,當DOM節點被選中時,將事件與之繫結,方便使用者提供相應的操作。
比如:在button按鈕上繫結click滑鼠事件,在input中繫結focusin焦點事件等等,具體的例如:常常在程式碼中這樣寫$('.bn1').click(function(){...})就是普通的事件繫結。
擴充套件:
事件委託:是指在事件繫結的基礎上補充與擴充套件事件繫結,具體就是指:通過子節點元素繫結事件來傳遞給父元素DOM節點(祖先節點)來統一管理其全部後代子元素。
這樣遇到需要繫結很多事件的子元素時,就避免了很多麻煩重複繫結事件的工作,提供了存取效率。具體程式碼$('.div').on('click','.bn2',function(){...})
jquery有四種系結事件的方式。bind,live,delegate,on。其中live已被移除,bind和delegate底層都是on實現的。
jquery建議我們使用on來繫結事件。除原生事件外,jquery支援繫結自定義事件。
最常用方法
$(「選擇器」).事件名稱(匿名函數)
舉例1:
//這裡的button為元素選擇器,click為滑鼠點選事件$("button").click(function(){ //函數內容 })
舉例2:
//這裡的#btn1為id選擇器即id名為btn1的元素,mouseenter為滑鼠聚焦事件$("#btn1").mouseenter(function(){ //函數內容 })
舉例3:
//這裡的.ps為類選擇器即class名為ps的所有元素,mouseleave為滑鼠離焦事件$(".ps").mouseleave(function(){ //函數內容 })
bind函數
$(「選擇器」).bind({「事件名稱」:匿名函數})
舉例1:
//button為元素選擇器,bind的中文意思為‘繫結’$("button").bind({"click":function(){ //函數內容 }})
舉例2:
//這裡的#btn1為id選擇器即id名為btn1的元素,mouseenter為滑鼠聚焦事件$("#btn1").bind({"mouseenter":function(){ //函數內容 }})
舉例3:
//這裡的.ps為類選擇器即class名為ps的所有元素,mouseleave為滑鼠離焦事件$(".ps").bind({"mouseleave":function(){ //函數內容 }})
注
:這裡的bind函數引數為一個大括號
包裹的字典,key值為雙引號下的事件名稱,value值為函數內容,一定一定一定
要注意格式。
on函數
兩個形參
$(「選擇器」).on(「事件名稱」,匿名函數)
舉例:
$("button").on("click",function(){ //函數內容 })
注
:含有兩個形參的on函數,和bind函數使用方法類似,只是格式不同,可以一起記憶。
三個形參
含有三個引數,非常適合含有多個孩子的父節點使用,可以統一控制孩子節點事件
$(「父節點選擇器」).on(「事件名稱」,「孩子節點,即要繫結的元素」,匿名函數)
舉例:
$("ul").on("click","li",function(){ $(this).css("color","blue"); //this表明當前點中的物件,此語句表明,當點選li標籤時候,將該li標籤顏色變為blue })
注
:一定要注意含有三個引數的使用場景,並且注意this關鍵字的使用
delegate函數
delegate函數有三個形參,和on函數有著相似之處,區別是引數位置不同。
$(「父節點選擇器」).delegate(「孩子節點,即要繫結的元素」,「事件名稱」,匿名函數)
$("ul").delegate("li","click",function(){ $(this).css("color","blue"); })
注
:一定要注意這裡的引數排列順序和on函數的引數排列順序不同。
$("選擇器").函數名(參數列)
;參數列內容無外乎為事件名稱,和匿名函數,或者是子節點選擇器,模板 | |
---|---|
最常用 | $(「選擇器」).事件名稱(匿名函數) |
bind函數 | $(「選擇器」).bind({「事件名稱」:匿名函數}) |
on函數 | $(「選擇器」).on(「事件名稱」,匿名函數) |
$(「父節點選擇器」).on(「事件名稱」,「孩子節點,即要繫結的元素」,匿名函數) | |
delegate函數 | $(「父節點選擇器」).delegate(「孩子節點,即要繫結的元素」,「事件名稱」,匿名函數) |
視訊教學推薦:
以上就是jquery繫結事件是什麼意思的詳細內容,更多請關注TW511.COM其它相關文章!