添加阴影,文本框的onfocus

问题描述:

我要让这种Pinterest的影响我的登记表上 - 当用户集中在输入文本字段或文本区域,我想这个领域或区域周围有一个软阴影,像这样的:添加阴影,文本框的onfocus

enter image description here

所以我尝试以下 - 我写了一个CSS类

.inputShadow{ 
box-shadow:0 0 10px 5px #900; 
} 

,并试图与聚焦状态添加它= “addShadow()”,其中这是addShadow()功能:

function addShadow(){ 
    $(this).addClass("inputShadow"); 
} 

但我没有得到任何影子。然后我试过这个:

$(function(){ 
    $("input").onfocus("addClass","inputShadow"); 
}); 

也没有结果。最后我试过这个:

$(function(){ 
    $("input").onfocus("css","box-shadow:0 0 10px 5px #900;"); 
}); 

但这并没有帮助我。

任何想法如何使其工作?谢谢!

没有测试过,但是这应该工作:

$(function(){ 
    $("input").on("focus",function(){ 
     $(this).addClass(".inputShadow"); 
    }); 
}); 

编辑:还要检查浏览器的兼容性,如在其他答案

+0

非常感谢!工作出色!我还在Blur上添加了它,去除了阴影,一切正常!再次,谢谢! – Igal 2012-04-14 10:21:49

+0

没问题,查看fox32的答案。它无需JavaScript,如果它起作用,它绝对是一个更好的选择。 – MrJD 2012-04-14 10:23:36

+0

是的,测试它,它的工作就像一个魅力!非常感谢你们! :) – Igal 2012-04-14 10:35:05

你用什么浏览器作为mozilla和chrome浏览器有不同的css规则。

例如

.inputShadow { 
    -moz-box-shadow:0 0 10px 5px #900; 
    -webkit-box-shadow:0 0 10px 5px #900; 
    box-shadow:0 0 10px 5px #900; 
} 
+0

谢谢您的输入!是的,我知道这些问题,我的CSS也有主题,只是不想在此输出太多信息。我使用最新的FF,并且我知道它支持box-shadow(在其他元素上试用过),所以我只是在这里写了上面的代码。当然,我确实为其他浏览器提供了其他规则。即使是真正老的IE - 'filter:progid:DXImageTransform.Microsoft.Shadow(Strength = 10,Direction = 0,Color ='#900');':) – Igal 2012-04-14 10:28:46

无需使用jQuery这个任务提到的,你也可以只用css:

input:focus { 
    /* Your shadow css here */ 
    -moz-box-shadow:0 0 10px 5px #900; 
    -webkit-box-shadow:0 0 10px 5px #900; 
    box-shadow:0 0 10px 5px #900; 
} 

但是creminsn是对的,box-shadow可能不适用于每一个眉毛ser,你需要添加一个浏览器特定的前缀。

+0

+1用于避免JavaScript – MrJD 2012-04-14 10:24:04

+0

这是一个伟大的建议!非常感谢你!现在测试它,它效果很好!谢谢!!! – Igal 2012-04-14 10:34:14