javascript - 占位符在焦点上仍然可见

标签 javascript css html placeholder

我想要我的 <input>元素具有占位符文本,当输入具有焦点(并且为空)时该文本仍然可见。但是,我不能使用实际的 placeholder属性,因为它只在输入没有焦点时出现在 IE10 和 Safari 中,并且在旧的 IE 版本中不受支持。什么是跨浏览器解决方案,最好不要使用 jquery(因为我没有其他理由使用它)?

最佳答案

如果你可以在这里使用 jQuery 是一个选项

演示 http://jsfiddle.net/kevinPHPkevin/FdjJv/8/

$(function()
{
  $('input').each(function() 
  {
     $(this).val($(this).attr('holder'));
  });

  $('input').focus(function()
  {
    if($(this).attr('holder')==$(this).val())
    {
      $(this).val('');
    }
  });
  $('input').focusout(function()
  {
     if($.trim($(this).val())=='')
     {
       var holder = $(this).attr('holder');
       $(this).val(holder);
     }
  });
});

要获得完整的浏览器支持,您可以使用 http://www.hagenburger.net/BLOG/HTML5-Input-Placeholder-Fix-With-jQuery.html 等库

已编辑

我会推荐一个 jQuery 插件,然后你可以将它分配给你的输入

演示 http://jsfiddle.net/kevinPHPkevin/5j55m/136/

<input type='text' placeholder='this is a test' />
<input type='password' placeholder='testing password' />

关于javascript - 占位符在焦点上仍然可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18422955/

相关文章:

javascript - HTML 和 CSS : drop down menu wont work

asp.net - 防止在文本框中输入非 ascii 字符

javascript - 如何获取 css 文件的最新修订日期?

javascript - Highchart 条形图中的渐变背景条

html - Div 相互重叠

html - 为什么不显示:none hide a display:table-cell element?

html - 修复 Foundation 5 中的问题

javascript - 我如何在 JavaScript 中比较数组?

javascript - 无法加载 firebase(重定向错误)

html - 输入按钮不响应 CSS