摘要:用防抖實現鼠標移出消失由于標簽本身不支持事件,所以對于點擊一個按鈕彈出的,我們想要當這個失去焦點的時候,讓它消失不能使用的來實現。但是可以利用和事件來實現失去焦點消失的功能。
用防抖實現DIV鼠標移出消失
??由于div標簽本身不支持onblur事件,所以對于點擊一個按鈕彈出的div,我們想要當這個div失去焦點的時候,讓它消失不能使用的onblur來實現。
??但是可以利用onmouseout和事件來實現DIV失去焦點消失的功能。直接使用onmouseout來實現移出消失可能會有一個問題:假設你的按鈕的位置和彈出的div的位置不是重合的那么會導致鼠標移動就會馬上去觸發onmouseout事件,從而沒什么卵用。
??利用防抖、onmouseout、onmouseover組合來實現一個體驗很好的blur事件
/** *鼠標移動過div事件 */ function moveOverEvent(ele,outTimer) { let overTimer = null; return function(){ clearTimeout(outTimer); //div沒有消失的情況下,在移動進來div,那么就清除上次移出的事件 clearTimeout(overTimer); //防抖 overTimer = setTimeout(()=>{ ele.style.display = "block"; },500); } }
/** * 鼠標移出 */ function moveOutEvent(ele,outTimer) { return function(){ clearTimeout(outTimer); //防抖 outTimer = setTimeout(()=>{ //移動出去后等500ms,在消失這div ele.style.display = "none"; },500); } }
??然后無意中發現一個可以通過給div添加tabindex屬性,從而實現blur事件,所以上面的代碼可能是白寫了。(PS 我感覺上面的體驗會好一些,減少了很多誤觸)
//設置了tabindex后,元素默認加虛線,通過ouline=0進行去除(IE設置hidefocus="true")
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/113710.html
摘要:用防抖實現鼠標移出消失由于標簽本身不支持事件,所以對于點擊一個按鈕彈出的,我們想要當這個失去焦點的時候,讓它消失不能使用的來實現。但是可以利用和事件來實現失去焦點消失的功能。 用防抖實現DIV鼠標移出消失 ??由于div標簽本身不支持onblur事件,所以對于點擊一個按鈕彈出的div,我們想要當這個div失去焦點的時候,讓它消失不能使用的onblur來實現。??但是可以利用onmous...
摘要:用防抖實現鼠標移出消失由于標簽本身不支持事件,所以對于點擊一個按鈕彈出的,我們想要當這個失去焦點的時候,讓它消失不能使用的來實現。但是可以利用和事件來實現失去焦點消失的功能。 用防抖實現DIV鼠標移出消失 ??由于div標簽本身不支持onblur事件,所以對于點擊一個按鈕彈出的div,我們想要當這個div失去焦點的時候,讓它消失不能使用的onblur來實現。??但是可以利用onmous...
摘要:焦點事件一般利用這些事件與方法和屬性配合。此外,支持一個名為的類似事件,也是在鼠標滾動滾輪時除法。 焦點事件 一般利用這些事件與document.hasFocus()方法和document.activeElement屬性配合。主要有: blur:元素失去焦點,不會冒泡; DOMFocusIn:同HTML事件focus,于DOM3遭廢棄,選用focusin; DOMFocusOut:同...
摘要:背景之前做了一個網頁,網頁中的所有輸入框都被設計為獲得鼠標焦點時外邊框不變藍。而且輸入框的邊框設置在了父元素上,所有當輸入框獲得焦點時,看到的應該是父元素上的邊框變藍,而不是里面的的邊框變藍。 背景 之前做了一個網頁,網頁中的所有輸入框都被設計為獲得鼠標焦點時外邊框不變藍。突然某一天,產品覺得這樣用戶體驗不好,不能很明顯地告訴用戶當前鼠標停在哪里,于是要求改為當輸入框獲得鼠標焦點時,外...
摘要:背景之前做了一個網頁,網頁中的所有輸入框都被設計為獲得鼠標焦點時外邊框不變藍。而且輸入框的邊框設置在了父元素上,所有當輸入框獲得焦點時,看到的應該是父元素上的邊框變藍,而不是里面的的邊框變藍。 背景 之前做了一個網頁,網頁中的所有輸入框都被設計為獲得鼠標焦點時外邊框不變藍。突然某一天,產品覺得這樣用戶體驗不好,不能很明顯地告訴用戶當前鼠標停在哪里,于是要求改為當輸入框獲得鼠標焦點時,外...
閱讀 2584·2021-11-25 09:43
閱讀 1858·2021-09-22 15:26
閱讀 3735·2019-08-30 15:56
閱讀 1712·2019-08-30 15:55
閱讀 1897·2019-08-30 15:54
閱讀 813·2019-08-30 15:52
閱讀 3156·2019-08-29 16:23
閱讀 895·2019-08-29 12:43