JavaScript中添加監(jiān)聽句柄的方式
更新時間:2022年02月25日 09:42:28 作者:酷爾。
這篇文章主要介紹了JavaScript中添加監(jiān)聽句柄的方式,監(jiān)聽就是觸發(fā)某事件之后做出的響應,監(jiān)聽句柄是觸發(fā)某相應的條件,下面關于添加監(jiān)聽句柄的方式的詳細內容,需要的朋友可以參考一下,希望對你有所幫助
前言:
監(jiān)聽就是觸發(fā)某事件之后做出的響應,監(jiān)聽句柄是觸發(fā)某相應的條件
一、效果展示
鼠標聚焦、鼠標移開、鼠標點擊等等都可以作為監(jiān)聽句柄
二、句柄合集
- onchange HTML 元素改變
- onclick 用戶點擊 HTML 元素
- onmouseover 用戶在一個HTML元素上移動鼠標
- onmouseout 用戶從一個HTML元素上移開鼠標
- onkeydown 用戶按下鍵盤按鍵
- onload 瀏覽器已完成頁面的加載
- onclick 失去焦點
- onfocuse 獲取焦點
三、添加監(jiān)聽的方式
添加監(jiān)聽的方式有兩種:
1.將事件與函數綁定在一起
- 例如將點擊監(jiān)聽句柄與f1函數綁定起來
<!DOCTYPE html> <html lang="en"> <head> ? ? <meta charset="UTF-8"> ? ? <meta http-equiv="X-UA-Compatible" content="IE=edge"> ? ? <meta name="viewport" content="width=device-width, initial-scale=1.0"> ? ? <title>Document</title> </head> <body> ? ? <script> ? ? ? ? function f1() ? ? ? ? { ? ? ? ? ? ? element=document.getElementById("myimage") ? ? ? ? ? ? if(element.src.match("bulbon")) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? element.src="../pic_bulboff.gif" ? ? ? ? ? ? } ? ? ? ? ? ? else{ ? ? ? ? ? ? ? ? element.src="../pic_bulbon.gif" ? ? ? ? ? ? } ? ? ? ? } ? ? </script> ? ? <img id="myimage" src="../pic_bulboff.gif" onclick="f1()" alt="" width="100" height="150"> ? ? <p>點擊燈泡開關燈</p> </body> </html>
2.先獲取元素再添加事件
例如:
? ? ? ??? ?var x = document.getElementById("myBtn"); ? ? ? ? x.addEventListener("mouseover", myFunction);
將鼠標覆蓋句柄與函數myFunction綁定在一起
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鳥教程(runoob.com)</title> </head> ? ? <body> ? ? ? ? ? ? <p>實例使用 addEventListener() 方法在同一個按鈕中添加多個事件。</p> ? ? ? ? ? ? <button id="myBtn">點我</button> ? ? ? ? ? ? <p id="demo"></p> ? ? <script> ? ? ? ? ? ? var x = document.getElementById("myBtn"); ? ? ? ? ? ? x.addEventListener("mouseover", myFunction); ? ? ? ? ? ? x.addEventListener("click", mySecondFunction); ? ? ? ? ? ? x.addEventListener("mouseout", myThirdFunction); ? ? ? ? ? ? function myFunction() { ? ? ? ? ? ? ? ? document.getElementById("demo").innerHTML += "Moused over!<br>" ? ? ? ? ? ? } ? ? ? ? ? ? function mySecondFunction() { ? ? ? ? ? ? ? ? document.getElementById("demo").innerHTML += "Clicked!<br>" ? ? ? ? ? ? } ? ? ? ? ? ? function myThirdFunction() { ? ? ? ? ? ? ? ? document.getElementById("demo").innerHTML += "Moused out!<br>" ? ? ? ? ? ? } ? ? ? ? ? ? // 監(jiān)聽函數如何傳遞參數 ? ? ? ? ? ? document.getElementById("myBtn").addEventListener("click", function() { ? ? ? ? ? ? ? ? myFunction(p1, p2); ? ? ? ? ? ? }); ? ? ? ? ? ? function myFunction(a, b) { ? ? ? ? ? ? ? ? ?var result = a * b; ? ? ? ? ? ? ? ? ?document.getElementById("demo").innerHTML = result; ? ? ? ? ? ? } ? ? </script> ? ? </body> </html>
總結:
兩種監(jiān)聽方式均可以達到效果,個人認為先獲取后添加的句柄監(jiān)聽使用更為方便。
到此這篇關于JavaScript中添加監(jiān)聽句柄的方式的文章就介紹到這了,更多相關JavaScript監(jiān)聽句柄內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
CascadeView級聯組件實現思路詳解(分離思想和單鏈表)
本文介紹自己最近做省市級聯的類似的級聯功能的實現思路,為了盡可能地做到職責分離跟表現與行為分離,這個功能拆分成了2個組件并用到了單鏈表來實現關鍵的級聯邏輯,下一段有演示效果的gif圖2016-04-04封裝的dialog插件 基于bootstrap模態(tài)對話框的簡單擴展
這篇文章主要介紹了基于bootstrap模態(tài)對話框的簡單擴展,bootstrap-mzDialog插件的封裝,感興趣的小伙伴們可以參考一下2016-08-08