DIV的失去焦点(blur)实现方法
用防抖实现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>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
您可能感兴趣的文章
- 01-10通过html为FLASH加链接的实现代码(div层)
- 01-10html用style添加属性示例
- 01-10HTML元素设置焦点的方法
- 01-10在html文件里include文件内容的方法小结
- 01-10用HTML和CSS打造属于自己的暖男“大白”
- 01-10Button的四种Click响应方法汇总
- 01-10XHTML中的常用标签整理
- 01-10利用HTML实现限制ip的投票网站作弊方案
- 01-10HTML中禁用表单控件的两种方法readonly与disabled
- 01-10HTML 中的 dl(dt,dd)、ul(li)、ol(li) 使用方法