0

<input>入力にフォーカスがある (そして空である) ときに表示されたままになるプレースホルダー テキストを要素に持たせたいと思います。ただし、実際のplaceholder属性は使用できません。これは、入力にフォーカスがない場合に IE10 と Safari でのみ表示され、古い IE バージョンではサポートされていないためです。できればjqueryを使用しないクロスブラウザソリューションとは何ですか(他に使用する理由がないため)?

4

2 に答える 2

1

ここで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' />
于 2013-08-24T20:53:47.267 に答える