Как очистить текстовое поле onfocus, если оно содержит нуль и onfocusout, если оно пустое, а затем положить ноль? глобально в каждом текстовом поле, взяв класс текстового поля?
Вы можете использовать размытие и фокусировку
$('textarea').on('focus', function () {
if ($(this).val() == "0") {
$(this).val("");
}
});
$('textarea').on('blur', function () {
if ($(this).val() == "") {
$(this).val("0");
}
});
Некоторые из приведенных здесь ответов звучат великолепно, но я лично не буду полагаться на JavaScript, чтобы решить эту проблему, если вам не нужно ее запускать в старых браузерах.
Оба поля textarea и input имеют атрибут placeholder
.
<textarea placeholder="0"></textarea>
Это позволяет родному браузеру заботиться о замене значения на 0.
Я предполагаю, что в текстовом поле вы имели в виду текстовые поля, а не текстовые области.
Поймайте их глобально на уровне документа (или любом элементе над полями) и используйте селектор в методе on
.
$(document).on('focusout', 'input[type=text]', function(){
var $input = $(this);
if ($input.val() == "")
{
$input.val("0");
}
}).on('focus', 'input[type=text]', function(){
var $input = $(this);
if ($input.val() == "0")
{
$input.val("");
}
});