0

「名」としてプレースホルダーテキストを含むテキストフィールドがあるので、ユーザーがフィールドをクリックするとテキストが消え、テキストを入力できるようになります

HTML

  <input class="fname" type="text" placeholder="First Name"/>

JS

function placeHolderFallBack() {
if("placeholder" in document.createElement("input")) {  
    return;     //In chrome it comes here
}else { 
    // works fine in IE8,FF 
    } 

したがって、基本的に上記のコードはChromeでは機能しません。

4

2 に答える 2

3

chromeとsafariでは、プレースホルダー属性はキーアップで機能します。入力を開始すると消えます。

それでも本当に必要な場合は、このアプローチを試してください

デモ-http ://jsfiddle.net/NL2Dr/2/

var ttext;

$('input').focus(function(){
    ttext = $(this).attr('placeholder');            
    $(this).removeAttr('placeholder');
});
$('input').blur(function(){
    $(this).attr('placeholder', ttext);
});
于 2012-06-04T09:29:26.837 に答える
0

Dipaksに感謝しますが、入力の1つが選択されているときにChromeを非アクティブ化してから再アクティブ化すると、機能しません。また、パフォーマンス面でも少し改善が必要だと思います。改訂版は次のとおりです。

$('input:text, textarea').each(function(){
    var $this = $(this);
    $this.data('placeholder', $this.attr('placeholder'))
         .focus(function(){$this.removeAttr('placeholder');})
         .blur(function(){$this.attr('placeholder', $this.data('placeholder'));});
});
于 2012-08-07T13:03:22.390 に答える