Проблемы с фокусом textarea - PullRequest
       5

Проблемы с фокусом textarea

1 голос
/ 14 марта 2010

Моя текстовая область ведет себя очень странно, когда я щелкаю внутри нее ... курсор появляется там, когда я нажимаю, если я нажимаю на середину текстовой области, она появляется там, и я хотел бы, чтобы она появлялась в начале везде, где бы она ни была Я нажимаю внутри, как здесь, на SO, когда задаешь вопрос, где бы вы ни щелкали внутри textarea, он перемещает ваш курсор в самый верхний левый угол. Что я могу сделать, чтобы это исправить?

EDIT:

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

Вот код:

<textarea class="passage" name="texti" rows="5" cols="10">
                </textarea>

CSS:

.passage {
        color: #333;
        font-size: 12px;
        height: 80px;
        width: 279px;
    }

Ответы [ 4 ]

8 голосов
/ 14 марта 2010

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

 <textarea class="passage" name="texti" rows="5" cols="10"></textarea>

Что бы ни находилось между тегами в <textarea>, это начальный контент.

1 голос
/ 16 марта 2010

Если вы не можете исправить это так, чтобы разметка давала вам по-настоящему пустую текстовую область, вы можете использовать такой JavaScript, как этот, чтобы установить позицию курсора по клику:

function cursorTo00(area) {
  if (area.innerHTML.match(/^\s+$/)) {
    area.selectionStart = area.selectionEnd = 0;
  }
}
1 голос
/ 14 марта 2010

Единственное объяснение, которое я имею для поведения, которое вы описываете, это множество пробелов в текстовой области. В пустой текстовой области курсор всегда должен автоматически переходить влево.

0 голосов
/ 14 марта 2010

У меня был этот isuue один раз, и это было из-за неправильной функции JavaScript, которую я никогда не использовал в своем приложении.

  1. попробуйте переименовать текстовую область.
  2. Если проблема не устранена, попробуйте найти методы или функции, которые могут обновить текстовое поле с пробелами.
  3. если вы не можете найти метод, напишите строку кода для события OnTextChanged

    protected void TextArea1_OnTextChanged(object sender, eventArgs e)
    {
       TextArea1.Text = TextArea1.Text.trim();
       //or  TextArea1.Text = string.empty;
    }
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...