博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
怎么让input不失去焦点
阅读量:7009 次
发布时间:2019-06-28

本文共 808 字,大约阅读时间需要 2 分钟。

hot3.png

对于chrome等现代浏览器的思路

就是当input focus的时候,对document监听mousedown事件,然后判断mousedown的事件焦点是不是你不想让input失去焦点的那个元素,是的话就阻止默认事件,下面摘取一段代码

对于ie6,7,8浏览器

也是同样的思路,但是阻止默认事件没有用,兼容处理就是这个时候设置input的unselectable=“on”

prevent_blur:function(elem,func){    var fnDocumentMousedown;    angular.element(elem).bind("focus",function(){        $document.bind("mousedown",fnDocumentMousedown=function(event){            if(func(event.target)){                event.target.setAttribute("unselectable","on");                event.preventDefault();            }else if(event.target!=elem){               $document.unbind("mousedown",fnDocumentMousedown);            }        });    });    angular.element(elem).bind("blur",function(){        $document.unbind("mousedown",fnDocumentMousedown);    });}

转载于:https://my.oschina.net/lirongfei/blog/507821

你可能感兴趣的文章