これは私のフィドルです
すべてがフィドルに書かれています。
問題は何ですか: 入力で何かを入力し始めることを選択したときに、テキストを非表示にしたいのです。
入力に焦点を合わせると、
消えて、何も入力していない場合にのみ再び表示されます。
テキスト入力に何か入力した場合、非表示をそのままにしておきます。
正直なところ、これを行う方法がわかりません。私が何を意味するのかを示すためにBSを試みました
手伝ってくれてどうもありがとう!
これは私のフィドルです
すべてがフィドルに書かれています。
問題は何ですか: 入力で何かを入力し始めることを選択したときに、テキストを非表示にしたいのです。
入力に焦点を合わせると、
消えて、何も入力していない場合にのみ再び表示されます。
テキスト入力に何か入力した場合、非表示をそのままにしておきます。
正直なところ、これを行う方法がわかりません。私が何を意味するのかを示すためにBSを試みました
手伝ってくれてどうもありがとう!
実行しようとしているフィドルにエラーがあるようです.新しいフィドルを作成しましたが、何らかの理由で正常に動作しているようです..
$('.type').on('focus', function(){
$("p").hide();
});
$('.type').on('keyup blur', function(){
if($('.type').val() == ''){
$("p").show();
}
});
このフィドルをチェック
keyup イベントと blur イベントを使用して、必要な機能を取得します。
答えはこのフィドルにあります: 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");
});
あなたのフィドルが機能するように更新し、「オン」を使用し、ぼかしを使用しました。
$(document).ready(function(){
$(".type").on('focus', function(){
$("p.explanatory").hide();
}).on('blur', function() {
if($('.type').val() == '')
{
$("p.explanatory").show();
}
});
});
これが私の作品です! http://jsfiddle.net/M2Z88/5/
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/
これが私のレシピです
$(document).ready(function(){
$(".type")
.focus(function(){
$("p").hide()
;})
.blur(function () {
if (!$(this).val()) {
$("p").show()
;}
});
});