blur() и focus() не работают в jQuery с replaceWith()
Я работаю над формой с помощью jQuery, которая при нажатии на определенное поле отображает подсказки о том, что делать в этом поле в
тег. С кодом, который у меня есть сейчас, он будет работать для первого элемента, но потом, если я попытаюсь щелкнуть по другому, он не заменит предыдущее изменение. Я пытался использовать empty() для размытия, но это ничего не прояснит, и я не знаю, действительно ли это решит проблему в любом случае. Если бы кто-нибудь мог дать мне какое-либо представление о том, что здесь не так, я был бы очень признателен!
#helpP - это абзац, в котором я хочу изменить текст. Другие идентификаторы - это просто поля формы.
$(document).ready(function () {
$("#mail").focus(function() {
$("#helpP").replaceWith("<p>This e-mail address will be used as your login and for receiving special offers from Volga</p>");
}).blur(function(){
$("helpP").empty();
});
$("#confirmEmail").focus(function() {
$("#helpP").replaceWith("<p>Confirm your e-mail</p>");
});
$("#confirmEmail").blur(function() {
$("#helpP").empty();
});
$("#passwordReg").focus(function() {
$("#helpP").replaceWith("<p>Passwords can only have letters and numbers and are case sensitive.</p>");
});
$("#passwordRegConfirm").focus(function() {
$("#helpP").replaceWith("<p>Enter the same password again to ensure accuracy</p>");
});
});
Я попытался соединиться с первым, чтобы увидеть, имеет ли это какое-то значение, но это не так.
1 ответ
Не используйте replaceWith(), попробуйте использовать html() как,
$("#mail").focus(function() {
$("#helpP").html("<p>This e-mail address will be used as your login and for receiving special offers from Volga</p>");
}).blur(function(){
$("#helpP").empty();// use # before id selector
});
Из replaceWith() Документов,
Описание. Замените каждый элемент в наборе соответствующих элементов предоставленным новым содержимым и верните набор элементов, который был удален.
А это твой elements
будет replaced
с p elements