Как сделать так, чтобы поле отображалось при вводе текста? - PullRequest
0 голосов
/ 22 ноября 2011

Пожалуйста, проверьте эту ссылку jsfiddle:

http://jsfiddle.net/PDnnK/4/

Как вы можете видеть, есть

INPUT FIELD & BOX

Я хочуполе появляется только тогда, когда текст вводится во ввод.

Как это сделать?

Спасибо!

Джеймс

Ответы [ 3 ]

2 голосов
/ 22 ноября 2011

Начните коробку с display: none.Затем вы можете захватить событие keypress для ввода:

document.getElementById('myInput').onkeypress = function () {
  document.getElementById('myBox').style.display = 'block';
}
1 голос
/ 22 ноября 2011

Связывание с «изменением» обычно не очень удобно, поскольку оно обычно не срабатывает до тех пор, пока вы не нажмете вкладку или не уйдете от элемента.

Однако опрос также не является ответом.

оригинальный ответ: http://jsfiddle.net/xNEZH/2/

супер фантастический новый ответ: http://jsfiddle.net/4MhKU/1/

$('.input1').bind('mouseup keyup change cut paste', function(){
    setTimeout(function(){
        var hasInput = $('.input1').val() != "";
        $('.box')[hasInput ? 'show' : 'hide']();
    }, 20);
});

setTimeout происходит потому, что события вырезания и вставки запускаются ДО того, как текст будет вырезан или вставлен.

1 голос
/ 22 ноября 2011

Примерно так с jQuery:

$("#id-of-input").change(function() { $("#id-of-box"}.css('display', 'block'); } );

или измените .change на .click

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...