Я пытаюсь наложить текст на текстовое поле. Текст должен появиться над (с иллюзией присутствия) в текстовом поле при возникновении события фокусировки и оставаться там до тех пор, пока пользователь фактически не наберет букву. До того, как фокус даже произойдет, текст по умолчанию уже есть.Наложение динамического поля формы с помощью 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 еще пока вся функция не завершится?