ユーザーが入力/テキストエリアにテキストを入力したときのラベルフェードに取り組んでいます。これまでのところうまく機能していますが、入力/テキストエリアが読み込まれたときに既存の値があるかどうかを確認する良い方法がわからないため、ラベルを自動的に非表示にすることができます。
input / textareasは.load()を使用してロードされているため、セレクターを直接定義する代わりに$(document)を使用しています。
これは、Imが克服しようとしている問題を示す例です。どんな助けでも大歓迎です。また、この機能をプラグイン/関数にラップする方法について何か提案があれば、さらに役立ちます。ありがとう!
http://jsfiddle.net/skyros/FTXc3/
jsfiddleに行きたくない場合は擬似コード
//JQUERY
$(document).on('click', 'label', function() {
$(this).next().focus();
});
$(document).on('focus', 'input,textarea', function() {
var label = (this.value === "") ? $(this).prev('label').show().fadeTo(100, 0.25) : $(this).prev('label').fadeTo(100, 0).hide();
});
$(document).on('blur', 'input,textarea', function() {
var label = (this.value === "") ? $(this).prev('label').show().fadeTo(100, 1) : $(this).prev('label').fadeTo(100, 0).hide();
});
$(document).on('keypress', 'input, textarea', function() {
var label = $(this).prev('label').hide();
});