在我正在构建的站点的首页上,有几个<div>使用CSS :hover伪类在鼠标悬停时添加边框.其中一个<div>包含一个<form>,使用jQuery,如果其中的输入具有焦点,将保持边界.除了IE6不支持:hover除<a>s 之外的任何元素之外,这完全有效.所以,对于这个浏览器,我们只使用jQuery来模拟:hover使用该$(#element).hover()方法的CSS .唯一的问题是,现在的jQuery处理两种形式focus() 和 hover(),当输入具有焦点,则用户移动鼠标或缩小,边界消失.
我以为我们可以使用某种条件来阻止这种行为.例如,如果我们测试鼠标输出是否有任何输入有焦点,我们可以阻止边界消失.AFAIK,:focusjQuery中没有选择器,所以我不确定如何实现这一点.有任何想法吗?
使用jQuery,我可以测试输入字段是否具有焦点如下:
if ($("...").is(":focus")) {
...
}
Run Code Online (Sandbox Code Playgroud)
不使用jQuery我该怎么做?
I'm trying to remove all jQuery from my code. Until now I used
if($(selector).find(':focus').length === 0){
//focus is outside of my element
}else{
//focus is inside my element
}
Run Code Online (Sandbox Code Playgroud)
to destinguish wether the focus is inside of one of my elements. Can you show me a jQuery-free way of doing it?