私はこれを理解するのに何時間も費やしました.Stackoverflowで答えの一部を見つけましたが、まだこれを機能させることはできません.
私がやりたいのは、サイト全体のすべての入力要素を JS/jQuery で制御することです。ユーザーが入力に集中したとき、値がページが読み込まれたときと同じ場合はクリアし、変更されている場合はそのままにします。次にぼかしで、フィールドが空の場合、デフォルト値を返します。
私がこれまでに持っているのはこれです:
var input = document.getElementsByTagName('input');
$('input, textarea').focus(function() {
value = $(this).val();
for (var i=input.length-1; i >= 0; i--) {
if(value == input[i].value){
$(this).attr("value","");
}
}
});
$('input, textarea').blur(function() {
if($(this).val()=="") {
$(this).val(value);
}
});
これは部分的に機能しますが、入力が変更されたかどうかにかかわらず、入力をクリアし続けます。初期値を間違って保存していると思います。