javascript - 文本作为文本框输入的占位符?

标签 javascript html css

我注意到在某些网站上,例如 http://academia.edu/ ,注册表单在其文本输入字段中有一些“占位符”。这样一来,在文本框中,文本框内没有标签,只有一个字体很小的“名字”字样。

当使用 Firebug 进行调查时,我看到以下代码:

<input class="standard_text magic-default magic-default-on" id="user_first_name" name="user[first_name]" size="30" type="text" value="First Name">

看起来幕后发生了一些“神奇”的 javascript。但由于我还不熟悉 javascript 调试,所以我还无法追踪他们是如何做到这一点的。

有谁知道如何产生这种效果?

最佳答案

对于现代浏览器,您可以使用 HTML5 placeholder 属性。

这将在没有任何 Javascript 的情况下实现您想要的结果,并且将在旧浏览器中扩展(不会执行任何操作)。

<input placeholder="First Name">

要使它在旧浏览器中工作,您可以包含一些 jQuery:

$('input:text').focus(function(){
    if ( $( this ).val () === $( this ).attr ( 'placeholder' ) ) { 
      $(this).val('');
    }
}).blur(function(){
    if($(this).val() == "")
    {
        $(this).val($(this).attr('placeholder'))
    }
}
);

Working Example

关于javascript - 文本作为文本框输入的占位符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8354228/

相关文章:

java - jsp页面自动去除空格

javascript - 获取 window.scrollTo(0, 0);上类

PHP包含不同的目录

html - 调用每个单独的图像时如何更改 z-index?

javascript - 将波斯语设置为数据表

javascript - 如何创建具有第 3 级的垂直导航菜单?

javascript - 坚持使用 Javascript array , node

javascript - JS Canvas 在各个方向上调整大小

javascript - 文本框中的日期和时间选择器

javascript - Codecademy 构建地址簿 5/6