1

特定のページに単一のテキストエリアの質問がある調査があります。これが唯一の入力であるため、そのボックスのオンロードに焦点を合わせたいと思います。ただし、同じテキストエリアにプレースホルダースタイルのテキストも含める必要があります。

Ajaxblenderによるこのようなすべてのブラウザで両方の機能を動作させるための解決策はかなりあります。ただし、フォーカス後もヒントを残し、テキストを入力すると消えるようにします。何か案は?

注-HTML仕様では、プレースホルダー要素はフォーカスを失う必要があると規定されていることに気付きました。だから多分私は「透かし」が欲しいと言うべきです。このUIは、コンピューターのリテラシーが低い年配の男性向けです。彼らには、私たちが提供できる支援が必要です。

IE8で動作する必要があります:(

4

1 に答える 1

4

質問が理解できたら、次のようなことを試すことができます

HTML

<textarea id="first">Instructions go here</textarea>

jQuery

$('#first').focus().one('keydown', function(){
    $(this).val('');    
});

例: http://jsfiddle.net/jasongennaro/AYRyH/

説明

  1. 空の場合.focus()、オンロード時にフィールドにフォーカスが置かれます。
  2. .one()要素に対してイベントを 1 回発生させます
  3. 次にkeydown、最初に追加した命令である現在の値を削除します。

編集

あなたのコメントを考えると

ただし、標準のプレースホルダーのように機能する必要があるため、何かを入力してから削除すると、フィールドが空白になり、元のヒントが表示されます。

これを行うことができます... をキャプチャし、そこに何もない場合はオンvalueに戻します。textareablur

var a = $('#first').val();

$('#first').focus().one('keydown', function(){
    $(this).val('');    
});

$('#first').blur(function(){
    if($(this).val() == ''){
       $(this).val(a); 
    }
})

例 2: http://jsfiddle.net/jasongennaro/AYRyH/1/

于 2011-10-26T00:52:29.267 に答える