0

これは私のフィドルです

すべてがフィドルに書かれています。

問題は何ですか: 入力で何かを入力し始めることを選択したときに、テキストを非表示にしたいのです。

  1. 入力に焦点を合わせると、

    消えて、何も入力していない場合にのみ再び表示されます。

  2. テキスト入力に何か入力した場合、非表示をそのままにしておきます。

正直なところ、これを行う方法がわかりません。私が何を意味するのかを示すためにBSを試みました

手伝ってくれてどうもありがとう!

4

6 に答える 6

1

実行しようとしているフィドルにエラーがあるようです.新しいフィドルを作成しましたが、何らかの理由で正常に動作しているようです..

​$('.type').on('focus', function(){
    $("p").hide();         
});

$('.type').on('keyup blur', function(){
    if($('.type').val() == ''){
        $("p").show();       
    }
});

このフィドルをチェック

keyup イベントと blur イベントを使用して、必要な機能を取得します。

于 2012-09-10T23:28:00.497 に答える
1

入力がいつフォーカスを失ったかを検出するために使用.blur()し、その長さが 0を使用しているかどうかをテストし.val()ます。そうであればshowpもう一度:

$(document).ready(function () { 
    $(".type").focus(function() {
        $("p").hide();
    }).blur(function () {
        if ($(this).val().length == 0) {
            $("p").show();
        }
    });
});

デモ

于 2012-09-10T23:11:43.507 に答える
0

答えはこのフィドルにあります: http://jsfiddle.net/yLK5c/3/

    $(".type").on('focus keyUp',function(){ 
        if ($(this).val() == "") {
        $(this).attr('placeholder',"");
        }            
});
      $(".type").blur(function(){ 
          if ($(this).val() == "") {
             $('p').hide();           
          } else {
          $('p').show(); 
          }             
        $(this).attr('placeholder',"type something");    
        });
于 2012-09-10T23:15:24.513 に答える
0

あなたのフィドルが機能するように更新し、「オン」を使用し、ぼかしを使用しました。

$(document).ready(function(){
    $(".type").on('focus', function(){ 
        $("p.explanatory").hide();            
    }).on('blur', function() { 
        if($('.type').val() == '')
        {
            $("p.explanatory").show();      
        }
    });

});

これが私の作品です! http://jsfiddle.net/M2Z88/5/

于 2012-09-10T23:15:50.777 に答える
0

João が指摘しているように、blurイベントを使用して、フォーカスを失ったことを検出する必要があります。ただし、テキストボックスにテキストがある場合は、テキストを非表示にする必要があるようです。イベントをリッスンしてからkeyup、編集ボックスにある値を確認する方法。( を使用するkeydownと、テキスト ボックスに文字が追加されないため、後ろの文字になります。)

あなたが望むのはこれだと思います:

$(".type").focus(function(){ 
    if( $(this).val() == '' ) $("p").hide();
});
$(".type").blur(function(){
    $("p").show();
});
$(".type").keyup(function(){
    if( $(this).val() == '' ) $("p").hide();
    else $("p").show();
});

JsFiddle: http://jsfiddle.net/Mz95q/

于 2012-09-10T23:16:55.483 に答える
0

これが私のレシピです

$(document).ready(function(){
    $(".type")
    .focus(function(){
        $("p").hide()
    ;})
    .blur(function () {
      if (!$(this).val()) {
        $("p").show()
      ;}
    });
});
于 2012-09-10T23:27:37.920 に答える