摘要:用防抖实现鼠标移出消失由于标签本身不支持事件,所以对于点击一个按钮弹出的,我们想要当这个失去焦点的时候,让它消失不能使用的来实现。但是可以利用和事件来实现失去焦点消失的功能。
用防抖实现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")
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/52866.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:同...
摘要:背景之前做了一个网页,网页中的所有输入框都被设计为获得鼠标焦点时外边框不变蓝。而且输入框的边框设置在了父元素上,所有当输入框获得焦点时,看到的应该是父元素上的边框变蓝,而不是里面的的边框变蓝。 背景 之前做了一个网页,网页中的所有输入框都被设计为获得鼠标焦点时外边框不变蓝。突然某一天,产品觉得这样用户体验不好,不能很明显地告诉用户当前鼠标停在哪里,于是要求改为当输入框获得鼠标焦点时,外...
摘要:背景之前做了一个网页,网页中的所有输入框都被设计为获得鼠标焦点时外边框不变蓝。而且输入框的边框设置在了父元素上,所有当输入框获得焦点时,看到的应该是父元素上的边框变蓝,而不是里面的的边框变蓝。 背景 之前做了一个网页,网页中的所有输入框都被设计为获得鼠标焦点时外边框不变蓝。突然某一天,产品觉得这样用户体验不好,不能很明显地告诉用户当前鼠标停在哪里,于是要求改为当输入框获得鼠标焦点时,外...
阅读 3455·2021-10-14 09:42
阅读 3647·2019-08-26 13:56
阅读 3771·2019-08-26 11:59
阅读 1022·2019-08-23 18:00
阅读 2333·2019-08-23 17:51
阅读 3637·2019-08-23 17:17
阅读 1558·2019-08-23 15:11
阅读 5544·2019-08-23 15:05