テキストフォームフィールドの上にテキストをオーバーレイしようとしています。テキストは、フォーカスイベントが発生したときにテキストボックスの上に表示され、ユーザーが実際に文字を入力するまでそこにとどまります。フォーカスが行われる前に、既定のテキストが既に存在します。JQueryを使用した動的フォームフィールドオーバーレイ
ボックスがデフォルト値で始まり、フォーカスの際にデフォルト値が消える場所が類似していますが、この場合は私がやろうとしていることではありません。
私が気付いている問題は、ヘルパーテキストが正しく挿入された後、特に上部と左側のcssプロパティを動的に設定して表示されるようにすることです。
私のonFocus機能:
TrueThis.OldValue = $('#MyField').val(); // Save the current value
$('#MyField').val(''); // Empty the text box
var OverlayHTML = '<div>This is helper text that goes on top.</div>'
// Insert the Overlay and position the top and left to match the parent
// PROBLEM:: The element is inserted, but is not positioned.
// No top and left css attributes were assigned according to Firebug.
$('#MyField').after(OverlayHTML).css({
'top':$('#MyField').position.top,
'left':$('#MyField').position.left
});
// Remove the overlay when a user starts typing.
$('#MyField').next().keyup(function(){this.remove();});
私は、全体の機能が完了するまで、それはまだDOMに存在しないことを、おそらく問題は、私は新しい要素をつかむことができないんだということだと思いますか?