JavaScript中添加監(jiān)聽句柄的方式
前言:
監(jiān)聽就是觸發(fā)某事件之后做出的響應(yīng),監(jiān)聽句柄是觸發(fā)某相應(yīng)的條件
一、效果展示
鼠標(biāo)聚焦、鼠標(biāo)移開、鼠標(biāo)點擊等等都可以作為監(jiān)聽句柄

二、句柄合集
- onchange HTML 元素改變
- onclick 用戶點擊 HTML 元素
- onmouseover 用戶在一個HTML元素上移動鼠標(biāo)
- onmouseout 用戶從一個HTML元素上移開鼠標(biāo)
- onkeydown 用戶按下鍵盤按鍵
- onload 瀏覽器已完成頁面的加載
- onclick 失去焦點
- onfocuse 獲取焦點
三、添加監(jiān)聽的方式
添加監(jiān)聽的方式有兩種:
1.將事件與函數(shù)綁定在一起
- 例如將點擊監(jiān)聽句柄與f1函數(shù)綁定起來
<!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>點擊燈泡開關(guān)燈</p>
</body>
</html>2.先獲取元素再添加事件
例如:
? ? ? ??? ?var x = document.getElementById("myBtn");
? ? ? ? x.addEventListener("mouseover", myFunction);將鼠標(biāo)覆蓋句柄與函數(shù)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)聽函數(shù)如何傳遞參數(shù)
? ? ? ? ? ? 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é):
兩種監(jiān)聽方式均可以達到效果,個人認(rèn)為先獲取后添加的句柄監(jiān)聽使用更為方便。
到此這篇關(guān)于JavaScript中添加監(jiān)聽句柄的方式的文章就介紹到這了,更多相關(guān)JavaScript監(jiān)聽句柄內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
從JavaScript純函數(shù)解析最深刻的函子 Monad實例
這篇文章主要為大家介紹了從JavaScript純函數(shù)解析最深刻的函子 Monad實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-10-10
JS樹形結(jié)構(gòu)根據(jù)id獲取父級節(jié)點元素的示例代碼
這篇文章主要介紹了JS樹形結(jié)構(gòu)根據(jù)id獲取父級節(jié)點元素,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-05-05
MutationObserver監(jiān)視對DOM?樹所做更改的功能妙用
這篇文章主要為大家介紹了MutationObserver監(jiān)視對DOM?樹所做更改的功能妙用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03
js實現(xiàn)簡單的省市縣三級聯(lián)動效果實例
這篇文章主要介紹了js實現(xiàn)簡單的省市縣三級聯(lián)動效果,以完整實例形式分析了JavaScript實現(xiàn)省市縣三級聯(lián)動效果的具體步驟與相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2016-02-02
Add Formatted Text to a Word Document
Add Formatted Text to a Word Document...2007-06-06

