我目前正在使用..
onfocus="this.value=''; return false;"
在我的文本区域中清除留下评论的值。但是,当您单击输入注释并键入一些内容时,如果您在框外单击以阅读页面上的其他内容,然后再次单击文本区域框以返回到您的注释,则会清除您当前的输入。
有没有办法在最初的点击时清除文本区,只是为了清除默认值,而不是在浏览器页面会话的其余部分中清除其余的点击?
发布于 2011-02-18 02:39:17
最好将指令放到标签标签中,将其放置在文本区域上,然后如果文本区域被聚焦,则将其隐藏或显示。这样做的原因是因为您的文本区将填充指令,这些指令可能会被发送,如果它们在表单中。
但是,要解决你的问题,你要做的就是:
onfocus="if(this.value== "your initial text"){this.value=''}; return false;"
发布于 2012-10-09 22:29:40
我认为将逻辑从内容中分离出来是一个好习惯。那么,使用jQuery (我们都使用jQuery,不是吗?)你可以这样做:
$(document).ready(function() {
var _bCleared = false;
$('form textarea').each(function()
{
var _oSelf = $(this);
_oSelf.data('bCleared', false);
_oSelf.click(function()
{
if (!_oSelf.data('bCleared'))
{
_oSelf.val('');
_oSelf.data('bCleared', true);
}
});
});
});
这将遍历站点上的所有文本区域,并在单独的数据绑定中存储关于它们的清除状态的布尔值。onclick事件也是为每个文本区域单独处理的,所以你可以在一个页面上有多个文本区域/文本区域清除,而不需要Javascript飞溅你的html。
发布于 2011-02-18 02:39:21
这会有帮助的
function clearTA {
if(this.value != "type here") {
this.value = '';
return false;
}
}
和onfocus html属性
...onfocus="clearTA()"..
https://stackoverflow.com/questions/5033044
复制相似问题