我想我的脚本检查textarea盒子,当用户点击它,如果它有值“在这里添加附加信息!”使该框变为空白并将文本颜色更改为#000。它从灰色开始。基本JavaScript功能不起作用
的JavaScript
function changeMessage() {
if(this.value=='Add additional information here!')
{this.value='';this.style.color='#000';}
}
HTML
<textarea name="message" id="message_input" rows="4" cols="21" maxlength="200"
onfocus="changeMessage();"
onblur="changeMessageBack();"
>Add additional information here!</textarea>
雅的作品。我认为这总是指它所处的元素? – noWayhome 2012-02-04 18:29:13
@noWayhome:它的确如此,但是你的''changeMessage(this);“'成为匿名函数的主体,所以它在*函数中指出这个元素。当你从另一个内部调用一个函数时,JavaScript不会自动在你调用的函数中设置this this到当前值。您需要手动执行此操作。来自@xdazz的[answer](http://stackoverflow.com/a/9143288/1106925)展示了如何。用于'.call()'的+1 – 2012-02-04 18:40:52