Css输入:只关注第一次点击

Css输入:只关注第一次点击,css,input,focus,Css,Input,Focus,有人知道输入的方法吗:只在第一次单击时聚焦元素 <style> input[type='text'].error:focus{border-color:#f00} </style> 输入[type='text']。错误:焦点{边框颜色:#f00} 因此,如果用户“调出焦点”,它将返回到原始边框颜色 提前谢谢你的提示 编辑 我一点也不确定。谢谢@blender 我认为最简单的方法是使用jquery或类似的工具,对吗?我不明白您所说的“仅在第一次单击时”是什么意思。如

有人知道输入的方法吗:只在第一次单击时聚焦元素

<style>
input[type='text'].error:focus{border-color:#f00} 
</style>

输入[type='text']。错误:焦点{边框颜色:#f00}
因此,如果用户“调出焦点”,它将返回到原始边框颜色

提前谢谢你的提示

编辑

我一点也不确定。谢谢@blender


我认为最简单的方法是使用jquery或类似的工具,对吗?

我不明白您所说的“仅在第一次单击时”是什么意思。如果要在单击时设置输入样式,可以使用以下CSS:

input[type="text"].error:focus { border-color: #f00; }
这个HTML:

<input type="text" class="error" />
然后在HTML中:

<input type="text" required />


这有助于回答你的问题吗

我不明白你所说的“只在第一次点击时”是什么意思。如果要在单击时设置输入样式,可以使用以下CSS:

input[type="text"].error:focus { border-color: #f00; }
这个HTML:

<input type="text" class="error" />
然后在HTML中:

<input type="text" required />


这有助于回答你的问题吗

正如@Blender所说,这在纯CSS中似乎是不可能的
我建议处理
focusin
focusout
事件,向元素添加一个类,并使用
data-
属性来获取元素是否已被单击


看看这个

正如@Blender所说,在纯CSS中似乎不可能
我建议处理
focusin
focusout
事件,向元素添加一个类,并使用
data-
属性来获取元素是否已被单击


看看这个

对于所有有相同或类似问题的人,这里有一个可能的jQuery解决方案:

 $('input').on('focusout',function(){
 $(this).removeClass('error');
 });
这将删除上的错误类:focus out。 当用户:再次聚焦输入元素时,它将返回默认颜色

css的默认边框颜色示例:

 <style>
  input[type='text']:focus {border-color: black;}
 </style>

输入[type='text']:焦点{边框颜色:黑色;}

对于所有有相同或类似问题的人,这里有一个可能的jQuery解决方案:

 $('input').on('focusout',function(){
 $(this).removeClass('error');
 });
这将删除上的错误类:focus out。 当用户:再次聚焦输入元素时,它将返回默认颜色

css的默认边框颜色示例:

 <style>
  input[type='text']:focus {border-color: black;}
 </style>

输入[type='text']:焦点{边框颜色:黑色;}

如果我没有使用CSS,而是正确地阅读了问题,则答案是否定的。如果用户再次单击该元素,它是应该更改边框还是保持不变?该元素应该在“聚焦输出”时返回到原始边框颜色,但当用户:再次聚焦该元素时,它应该是默认的:聚焦颜色。希望我是清楚的;-)如果我没有使用CSS,而是正确地阅读了问题,那么答案是否定的。如果用户再次单击该元素,它应该更改边框还是保持不变?该元素应该在“focus out”时返回到原始边框颜色,但是当用户:再次聚焦该元素时,它应该是默认的:focus color。希望我是清楚的;-)感谢您的回答,但是验证已经由php使用if-else语句完成了。另外:输入:valid在像IE8I这样的旧浏览器中不起作用。我在上面看到了您的评论,您在第二次单击输入时希望样式如何不同。。。对不起,我想我没有知识来帮你。但是,如果您想使用HTML5表单验证并使其在较旧的浏览器中工作,我建议您查看modernizer()或h5Validate()。这两个插件都是很好的插件,可以为各种浏览器启用该功能。感谢您的回答,但验证已经由php使用if-else语句完成。另外:输入:valid在像IE8I这样的旧浏览器中不起作用。我在上面看到了您的评论,您在第二次单击输入时希望样式如何不同。。。对不起,我想我没有知识来帮你。但是,如果您想使用HTML5表单验证并使其在较旧的浏览器中工作,我建议您查看modernizer()或h5Validate()。这两个插件都是很好的插件,可以为各种浏览器提供这一功能。