精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

盤點JavaScript focus/blur(聚焦)實際應用

開發 前端
本文基于JavaScript基礎,介紹了focus/blur(聚焦)實際應用。通過事件以及對方法的講解。在元素獲得/失去焦點時會觸發 focus和 blur事件,通過 document.activeElement來獲取當前所聚焦的元素。

一、前言

當用戶點擊某個元素或使用鍵盤上的 Tab 鍵選中時,該元素將會獲得聚焦(focus)。當網頁加載時,HTML-特性(attribute)。

autofocus也可以讓一個焦點落在元素上,不僅如此,還有其它途徑可以獲得焦點。


二、focus/blur 事件

當元素聚焦時,會觸發 focus事件,當元素失去焦點時,會觸發 blur事件。讓使用它們來校驗一個 input字段。

1. 案例分析

blur事件處理程序檢查這個字段是否輸入了電子郵箱,如果沒有輸入,則顯示一個 error。

focus事件處理程序隱藏 error 信息(在blur事件處理程序上會被再檢查一遍)。

2. 代碼

<style>
  .invalid { border-color: red; }
  #error { color: red }
</style>
Your email please: 
<input type="email" id="input">
<div id="error">
</div>
<script>
input.onblur = function() {
  if (!input.value.includes('@')) { // not email
    input.classList.add('invalid');
    error.innerHTML = 'Please enter a correct email.'
  }
};
input.onfocus = function() {
  if (this.classList.contains('invalid')) {
    // 移除 "error" 指示,因為用戶想要重新輸入一些內容
    this.classList.remove('invalid');
    error.innerHTML = "";
  }
};
</script>

圖片

注:

現代 HTML 允許使用 input特性(attribute),進行許多驗證:required,pattern等。

有時它們正是所需要的。當需要更大的靈活性時,可以使用 JavaScript。如果數據是正確的,可以把它自動發送到服務器。


三、focus/blur 方法

elem.focus()和 elem.blur()方法可以設置和移除元素上的焦點。

例:

如果輸入值無效,可以讓焦點無法離開這個 input字段:

<body style="background-color: aqua;">
Your email please: 
  <input type="email" id="input">
    <input type="text" style="width:220px" placeholder="make email invalid and try to focus here">
    <script>
        input.onblur = function() {
            if (!this.value.includes('@')) { // not email
                // 顯示 error
                this.classList.add("error");
                // ...將焦點放回來
                input.focus();
            } else {
                this.classList.remove("error");
            }
        };
</script>
</body>

圖片

注:

如果在 input中輸入一些內容,然后嘗試使用 Tab 鍵或點擊遠離 <input>的位置,那么 onblur事件處理程序會把焦點重新設置到這個 input字段上。


四、focus/blur 委托

focus和blur事件不會向上冒泡。

例如,不能把 onfocus放在 <form>上來對其進行高亮,像這樣:

<!-- on focusing in the form -- add the class -->
<form onfocus="this.className='focused'">
  <input type="text" name="name" value="Name">
  <input type="text" name="surname" value="Surname">
</form>
<style> 
  .focused { 
    
    outline: 1px solid red; 
  } 
</style>

當用戶聚焦于 <input>時,focus事件只會在該 <input>上觸發。它不會向上冒泡。所以 form.onfocus永遠不會觸發。

form.onfocus永遠不會觸發,(兩個解決方案)。

1. 方案一

有一個遺留下來的有趣的特性(feature):focus/blur不會向上冒泡,但會在捕獲階段向下傳播。

<form id="form">
  <input type="text" name="name" value="Name">
  <input type="text" name="surname" value="Surname">
</form>
<style> 
  .focused {
    outline: 1px solid red; 
  } 
</style>
<script>
  // 將處理程序置于捕獲階段(最后一個參數為 true)
  form.addEventListener("focus", () => form.classList.add('focused'), true);
  form.addEventListener("blur", () => form.classList.remove('focused'), true);
</script>

2. 方案二

可以使用 focusin和 focusout事件 —— 與 focus/blur事件完全一樣,只是它們會冒泡。

注意:必須使用 elem.addEventListener來分配它們,而不是 on<event>。

所以,這是另一個可行的變體:

<form id="form">
  <input type="text" name="name" value="Name">
  <input type="text" name="surname" value="Surname">
</form>
<style> 
  .focused { 
    outline: 1px solid red; 
  } 
</style>
<script>
  form.addEventListener("focusin", () => form.classList.add('focused'));
  form.addEventListener("focusout", () => form.classList.remove('focused'));
</script>

一樣的結果:

圖片


五、總結

本文基于JavaScript基礎,介紹了focus/blur(聚焦)實際應用。通過事件以及對方法的講解。在元素獲得/失去焦點時會觸發 focus和 blur事件,通過 document.activeElement來獲取當前所聚焦的元素。focus/blur 委托時遇到的問題,提供了兩個有效的解決方案。

歡迎大家積極嘗試,有時候看到別人實現起來很簡單,但是到自己動手實現的時候,總會有各種各樣的問題,切勿眼高手低,勤動手,才可以理解的更加深刻。

通過代碼的演示,運行效果圖的展示,能夠讓讀者更直觀的理解,更好的學習。

責任編輯:武曉燕 來源: 前端進階學習交流
相關推薦

2024-06-21 13:37:09

JavaScript開發

2021-07-30 09:53:22

JavaScriptfocusblur

2011-06-30 13:49:00

Qt 鍵盤 聚焦

2024-08-27 08:35:43

JavaScriptPromise模式

2012-10-23 17:16:16

企業云寶德云計算

2009-10-14 19:22:30

多路服務器曙光

2012-08-20 14:17:27

JavaScript

2009-12-18 10:58:17

Linux應用程序

2010-03-09 19:07:01

Python語法

2021-04-21 09:55:24

Redis應用限流

2025-08-28 08:53:21

事件委托冒泡focus

2021-07-20 10:26:12

JavaScriptasyncawait

2010-04-08 18:33:46

Oracle VARR

2024-01-26 13:07:20

綜合布線數據中心未來電網

2010-03-01 13:06:49

WCF繼承

2010-06-24 14:08:25

Linux Cat命令

2010-06-07 10:08:52

MySQL FLUSH

2010-03-17 10:01:12

Python安裝

2010-05-24 09:57:08

2009-10-28 14:28:10

點贊
收藏

51CTO技術棧公眾號

欧美1区2区3| 国产一区二区麻豆| 日本福利一区| 色婷婷狠狠综合| 色综合久久88色综合天天提莫| 中文资源在线播放| 中文视频在线观看| 欧美一区二区三区黄片| av成人天堂| 在线视频欧美日韩精品| 日本少妇激三级做爰在线| av在线小说| 国产亚洲污的网站| 91福利视频导航| 精品国产乱码一区二区| 日韩av密桃| 精品国产伦一区二区三区观看体验 | 精品欧美国产| 亚洲午夜精品久久久| 伊人久久久大香线蕉综合直播| 亚洲另类欧美自拍| 天天爽夜夜爽视频| 欧美电影免费看| 亚洲尤物在线视频观看| 亚洲国产日韩欧美| 特黄视频在线观看| 国产一区啦啦啦在线观看| 97超级碰在线看视频免费在线看| 日韩一区二区a片免费观看| 久久久国产精品入口麻豆| 色域天天综合网| 成人毛片100部免费看| 精华区一区二区三区| 粉嫩av亚洲一区二区图片| 国产一区二区香蕉| 91视频久久久| 免播放器亚洲| 欧美高清一级大片| 天海翼在线视频| 激情婷婷综合| 亚洲精品www| 欧美高清精品一区二区| 日本免费一区二区三区等视频| 午夜精品免费在线观看| 成人性做爰片免费视频| www视频在线观看免费| 久久综合国产精品| 韩国一区二区三区美女美女秀| 999国产精品视频免费| 奇米精品一区二区三区在线观看 | 午夜伦理在线视频| 中文字幕在线播放不卡一区| 色噜噜色狠狠狠狠狠综合色一| 天天操天天射天天| 成人精品在线视频观看| 成人av资源网| 丰满人妻一区二区三区免费| 国产精品一区一区| 亚洲一区二区三区777| 中文字幕一区二区免费| 日韩国产成人精品| 国产精品久久久久久婷婷天堂| 一级片免费在线播放| 亚洲永久网站| 日本不卡免费高清视频| 国产尤物在线视频| 免费在线亚洲| 国产精品444| 波多野结衣一区二区三区在线| 天堂av在线一区| 国产精品jizz在线观看麻豆| 亚洲精品91天天久久人人| 免费视频一区二区| 成人福利视频网| www.爱爱.com| 成人蜜臀av电影| 精品欧美日韩| 国产永久免费高清在线观看视频| 国产女人18毛片水真多成人如厕| 亚洲一区高清| 亚洲小说区图片区都市| 亚洲国产精品麻豆| 精品一卡二卡三卡| 激情久久99| 欧美一区二区三区四区高清| 欧美一级片在线免费观看| 成功精品影院| 亚洲人成电影在线观看天堂色| 一级特黄曰皮片视频| 91久久高清国语自产拍| 欧美日韩国产第一页| 天堂网av手机版| 日本成人中文字幕| 97在线中文字幕| 青青操视频在线| 中文字幕一区二区5566日韩| 岛国大片在线播放| 写真福利精品福利在线观看| 在线播放日韩导航| 91视频在线免费| 日韩免费一区| 国内精久久久久久久久久人| av手机天堂网| 国产高清无密码一区二区三区| 精品国产91亚洲一区二区三区www| 九九热视频在线观看| 国产精品乱码久久久久久| 久青草视频在线播放| 四虎4545www国产精品| 91精品国产一区二区三区香蕉 | 国产999精品在线观看| 亚洲精品一区二区三区在线观看| 精品欧美一区二区久久久| 最新精品国产| 国产成人在线亚洲欧美| 噜噜噜久久,亚洲精品国产品| 国产欧美日韩一区二区三区在线观看| 草草草视频在线观看| 欧美日韩五码| 欧美精品一区二区三区在线播放 | 欧美激情国产日韩精品一区18| 国产www在线| 国产精品一区二区男女羞羞无遮挡| 国产一区二区三区色淫影院| 美女羞羞视频在线观看| 日本韩国一区二区| 午夜视频在线观看国产| 66视频精品| 国产精品视频永久免费播放 | 偷拍中文亚洲欧美动漫| 精品国产免费视频| 美女福利视频在线观看| 美国欧美日韩国产在线播放| 精品久久久久久亚洲| 亚洲欧美成人影院| 欧美一区二区在线看| 久久午夜精品视频| 葵司免费一区二区三区四区五区| 成人午夜影院在线观看| 最新日本在线观看| 欧美美女视频在线观看| 中文字幕第24页| 久久久噜噜噜久久狠狠50岁| 国产一区精品视频| 超碰97免费在线| 欧美大片在线观看一区| 久久久久久久久久网站| 激情久久五月天| 亚洲综合第一| 免费一级欧美在线观看视频| 亚洲日本欧美日韩高观看| av黄色在线看| 久久久亚洲综合| 国产福利一区视频| jizzjizz欧美69巨大| 国产精品高潮呻吟久久av黑人| 日本中文字幕电影在线观看| 狠狠躁夜夜躁人人爽天天天天97| 亚洲男人在线天堂| 香蕉亚洲视频| 热舞福利精品大尺度视频| 日韩另类视频| 上原亚衣av一区二区三区| 亚洲图片中文字幕| 中文字幕日韩一区| 日本女人黄色片| 国产精品99免费看| 国产一区二区精品在线| 在线观看欧美日韩电影| 伊人亚洲福利一区二区三区| 亚洲视频在线免费播放| 亚洲色图丝袜美腿| 精品国产aⅴ一区二区三区东京热 久久久久99人妻一区二区三区 | 免费的黄网站在线观看| 欧美一级夜夜爽| 日产亚洲一区二区三区| 2020日本不卡一区二区视频| 99热手机在线| 中文字幕免费一区二区| 国产乱码精品一区二区三区日韩精品| 欧美三级网站| 中文字幕欧美日韩在线| 99精品人妻无码专区在线视频区| 一区二区激情小说| 欧美色图亚洲激情| 老司机午夜精品99久久| 少妇一晚三次一区二区三区| 人体久久天天| 国产欧美日韩精品在线观看| 少妇视频在线| 亚洲午夜未删减在线观看| 97人妻精品一区二区三区软件| 亚洲自拍偷拍网站| 91成人在线免费视频| 国产酒店精品激情| 日本wwww视频| 亚洲欧洲日韩| 久久爱av电影| 国产激情精品一区二区三区| 午夜精品在线视频| 1区2区3区在线观看| 精品久久久久久久一区二区蜜臀| 亚洲精品中文字幕乱码三区91| 国产精品狼人久久影院观看方式| www日本在线观看| 日本一不卡视频| 久久久久久人妻一区二区三区| 精品国产一区二区三区小蝌蚪 | 亚洲天堂777| 亚洲成a人v欧美综合天堂| 山东少妇露脸刺激对白在线| 不卡电影一区二区三区| 九九热99视频| 亚洲专区欧美专区| 国产高清不卡无码视频| 欧美国产美女| 日本精品二区| 加勒比视频一区| 成人性生交大片免费看视频直播| 345成人影院| 久久免费国产视频| 97影院秋霞午夜在线观看| 亚洲天堂av网| 天堂av电影在线观看| 日韩一区二区三区免费观看| 最近日韩免费视频| 欧美午夜精品久久久久久浪潮| 人妻人人澡人人添人人爽| 国产欧美一区二区精品婷婷| 女同性恋一区二区三区| 国产专区欧美精品| 97超碰成人在线| 久久国产精品亚洲77777| 成人一区二区免费视频| 欧美在线国产| 最新中文字幕久久| 97精品国产| 亚洲国产日韩欧美| 精品国产一区二区三区小蝌蚪| 免费在线观看一区二区| 日本在线中文字幕一区| 国产亚洲欧美一区二区三区| 99这里只有精品视频| 亚洲在线免费观看| 成人国产精品久久| 成人情趣片在线观看免费| 六九午夜精品视频| 91精品国产自产在线老师啪| 久久天天久久| 国产精品主播视频| 亚洲国产天堂| 国产主播在线一区| 亚洲ww精品| 亚洲mm色国产网站| 伊人久久亚洲| 99国精产品一二二线| 欧美另类中文字幕| 91精品网站| 91久久精品无嫩草影院| 国产成人精品免费视频大全最热 | 精品视频第一区| 先锋影音国产精品| 热re99久久精品国99热蜜月| 日本欧美国产| 中文字幕日韩一区二区三区不卡| 希岛爱理一区二区三区| 999久久欧美人妻一区二区| 激情91久久| 黄色动漫在线免费看| 日一区二区三区| 日本中文字幕精品—区二区| 国产做a爰片久久毛片| 亚洲欧美综合视频| 91在线观看地址| 午夜精产品一区二区在线观看的| 国产日韩欧美电影| 午夜激情福利电影| 亚洲免费在线视频一区 二区| 清纯粉嫩极品夜夜嗨av| 午夜伦理一区二区| 成人免费毛片男人用品| 在线亚洲高清视频| 国产免费黄色片| 精品国产伦一区二区三区免费| 五月婷婷丁香网| 在线一区二区日韩| 色yeye免费人成网站在线观看| 91国语精品自产拍在线观看性色| 新片速递亚洲合集欧美合集| 国产精品视频久久久| 亚洲日本视频在线| 日韩久久久久久久| 欧美日韩调教| 国产自偷自偷免费一区| 国产激情一区二区三区| 久久久www成人免费精品张筱雨| 国产精品xxxxxx| 日韩午夜激情av| 免费黄网站在线观看| 久久精品欧美视频| 9999精品成人免费毛片在线看| 国产激情视频一区| 粉嫩的18在线观看极品精品| 色大师av一区二区三区| 国产一区激情| www.99av.com| 99视频精品在线| 国产精品69久久久久孕妇欧美| 亚洲电影激情视频网站| 亚洲婷婷久久综合| 亚洲的天堂在线中文字幕| 一级毛片视频在线| 97视频网站入口| 免费一级欧美在线大片| 欧美极品一区二区| 欧美日韩国产在线一区| 男女男精品视频站| 91在线一区二区三区| 国产真实乱在线更新| 色婷婷av一区二区三区软件| 精品人妻aV中文字幕乱码色欲| 亚洲三级av在线| 国产精品一二三产区| 7777奇米亚洲综合久久| 青青草成人影院| 情侣黄网站免费看| 成人av在线电影| 91视频免费在线看| 欧美丰满嫩嫩电影| 成人jjav| 国产成人精品网站| 猛男gaygay欧美视频| www.日本在线播放| 成人一区二区三区中文字幕| 朝桐光av在线| 欧美精品日韩一本| seseavlu视频在线| 国产成人精品av在线| www.av视频在线观看| 亚洲视频免费看| ,一级淫片a看免费| 日韩在线精品一区| 123成人网| 日本一区二区三区视频在线观看 | 欧美三级一区| 熟妇熟女乱妇乱女网站| 久久精品国产99国产| 少妇愉情理伦三级| 欧美日韩一本到| 在线国产情侣| 成人黄色av网站| 天天做天天爱天天爽综合网| 国产精品自拍视频在线| 国产精品天天摸av网| 一本色道久久综合无码人妻| 亚洲免费电影在线观看| 中文字幕在线直播| 欧美性大战久久久久| 欧美一级网站| 超薄肉色丝袜一二三| 欧美伊人久久大香线蕉综合69| 成人精品一区二区| 成人激情视频在线播放| 亚洲影视一区二区三区| 免费看91视频| 欧美视频国产精品| 国产有码在线| 91精品视频免费看| 欧美激情视频一区二区三区免费| 日韩大尺度视频| 午夜久久久久久久久| 欧美新色视频| 国产拍精品一二三| 欧美不卡在线| 中文在线一区二区三区| 91精品福利视频| 黄色免费在线观看| 国产精品免费区二区三区观看| av成人激情| 精品伦精品一区二区三区视频密桃| 欧美日本乱大交xxxxx| 免费电影网站在线视频观看福利| 精品国产一区二区三区免费| 日韩av高清在线观看| www.毛片com| 亚洲精品中文字幕av| 一级做a爱视频| 亚洲图片欧美综合| 亚洲色欧美另类| 国产精品亚洲欧美导航| 欧美精品一区二区三区久久久竹菊| 国产视频久久久久久| 在线亚洲免费视频| 欧美aaaaaaa| 色噜噜色狠狠狠狠狠综合色一| 国产成人综合在线观看| 欧美性猛交bbbbb精品| 久久av红桃一区二区小说| 曰本一区二区三区视频| 亚洲天堂av一区二区三区|