2013-03-07 60 views
-2

我有一个具有以下属性的输入variale文本字体粗细正常(不带任何格式):制作使用CSS的onfocus选择

<input type="text" style="font-style: italic; color:#808080; font-size: 16px; width: 510px;" id="categ" value="default" name="categ" onfocus="this.value = ''; this.style.color='black'; this.font_weight='normal'"> 

我想清除格式样式的onfocus。它清除颜色和文字,但不是斜体重量。我也曾尝试字体重量和font.weight

+2

对不起,但这不是一个很好的做法,并会很快导致不可维护的代码...您应该定义一个样式表并使用':focus'选择器。 JavaScript只是不应该修改CSS属性。 – kapa 2013-03-07 00:51:43

+0

是这样的吗? .myDiv {this.value =''; this.style.color ='black'; this.style.font.font_weight ='normal'; } – CodeMonkey 2013-03-07 00:56:35

+0

No Javascript。CSS。让我给你看...玩这个演示(http://jsfiddle.net/QgSxy/) – kapa 2013-03-07 00:58:10

回答

1
this.style.fontWeight='normal' 

更新

this.style.fontStyle='normal' 

预览>>jsfiddle 更新>>jsfiddle

+0

小提琴保持斜体... – CodeMonkey 2013-03-07 01:00:14

+0

@CodeMonkey如何显示一些努力和逻辑思考?:) – kapa 2013-03-07 01:01:26

+0

更新的代码和jsfiddle :) – madhushankarox 2013-03-07 01:01:29

1

,如果没有记错的我..

this.style.fontWeight='normal' 

然而由于bažmegakapa在他的评论中说的 - 这是非常糟糕的做法。您应该为onfocus事件创建一个监听器 - 例如在jQuery中,你可以使用.focus()方法 - 并有一个回调函数来更新元素的CSS。

纯粹的CSS会更好!

+0

不适合我:( – CodeMonkey 2013-03-07 00:52:56

2

你想font-weight

this.style.fontWeight="normal" 

一个更好的办法来做到这一点是使用CSS:

#categ:focus{ 
    font-weight: normal; 
    color:black; 
} 
#categ{ 
    font-style: italic; 
    color:#808080; 
    font-size: 16px; 
    width: 510px 
} 
+0

没有大胆没有斜体正常 – CodeMonkey 2013-03-07 00:55:50

+0

javascript样式属性aren和css一样,他们没有破折号,第二个字的大写首字母 – Luca 2013-03-07 00:57:59

+0

+1显示正确的方式 – kapa 2013-03-07 01:02:04