国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

DIV的失去焦點(blur)實現方法

2024-08-26 00:20:54
字體:
來源:轉載
供稿:網友

用防抖實現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")<div tabindex="0" outline=0" hidefocus="true"></div>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到HTML教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 铁岭县| 应城市| 临汾市| 六安市| 宁晋县| 罗江县| 南平市| 托克托县| 沙河市| 呈贡县| 克东县| 沅陵县| 清水县| 石楼县| 资溪县| 黔江区| 娄底市| 塔河县| 石泉县| 阿城市| 柏乡县| 武城县| 新和县| 甘肃省| 金山区| 施甸县| 澳门| 枝江市| 恩施市| 贵定县| 临西县| 大宁县| 阿合奇县| 巴里| 许昌县| 安阳市| 鄂伦春自治旗| 卓尼县| 巴马| 满洲里市| 大荔县|