Как очистить текстовое поле onfocus, если оно содержит ноль, и onfocusout, если оно пустое, затем поставить ноль?

0

Как очистить текстовое поле onfocus, если оно содержит нуль и onfocusout, если оно пустое, а затем положить ноль? глобально в каждом текстовом поле, взяв класс текстового поля?

3 ответа

2

Вы можете использовать размытие и фокусировку

$('textarea').on('focus', function () {
    if ($(this).val() == "0") {
        $(this).val("");
    }
});
$('textarea').on('blur', function () {
    if ($(this).val() == "") {
        $(this).val("0");
    }
});

DEMO

  • 1
    Просто печатал>. <
  • 0
    Как это будет работать для текстового поля ..
Показать ещё 1 комментарий
2

Некоторые из приведенных здесь ответов звучат великолепно, но я лично не буду полагаться на JavaScript, чтобы решить эту проблему, если вам не нужно ее запускать в старых браузерах.

Оба поля textarea и input имеют атрибут placeholder.

<textarea placeholder="0"></textarea>

Это позволяет родному браузеру заботиться о замене значения на 0.

  • 0
    Это работает только на IE10 и выше, поэтому «старые браузеры» немного оптимистичны. Полагаться на Javascript для этого вполне разумно на практике.
1

Я предполагаю, что в текстовом поле вы имели в виду текстовые поля, а не текстовые области.

Поймайте их глобально на уровне документа (или любом элементе над полями) и используйте селектор в методе 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("");
    }
});

JSFiddle здесь: http://jsfiddle.net/TrueBlueAussie/chHfP/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню