2009-08-15 3 views
6

Когда я нажимаю enter в текстовом поле, у которого есть атрибут whitespace, установлен на nowrap через css, он неэффективен. Нет новой строки. Появится простой пробел. Это верно только в IE8. Я пробовал текущую версию Opera, Chrome и Firefox, и я не сталкивался с такими проблемами. У вас есть решение для этого?вход не работает в textarea в Internet Explorer 8

Спасибо ..

У меня есть это:

.gwt-TextArea 
{ 
white-space:nowrap; 
} 

где GWT-TextArea задает текстовое поле.

Кроме того, я попытался

.gwt-TextArea 
    { 
    white-space:pre; 
    } 

Это, кажется, дает тот же результат.

+0

FML, такой же проблема здесь. – cen

ответ

5

This article говорит, что Internet Explorer игнорирует разрывы строк with white-space: nowrap.

Их исправление предназначено для использования white-space: pre. Получает ли это ваше желаемое поведение?

+0

Нет, это то же самое. – Aftershock

0

Доступные варианты (здесь: Quirksmode.org), являются:

  • нормальный
  • Nowrap, IE5.5 +
  • предварительно, IE6 +
  • до линии IE8
  • пред- обертка IE8

Возможно, стоит использовать white-space: normal (я не знаю, У меня есть IE, с которым можно экспериментировать, но я полагаю, что normal будет доступен по умолчанию, если можно изменить состояние на ab нормально).


Отредактировано в отношении комментария/ответа ОП.

Вы используете doctype? (Я рекомендую использовать <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">)

Предполагая, что вы есть, есть ли возможность опубликовать ссылку на демонстрационную страницу? Или, возможно, разместите свой (x) html и css, чтобы узнать, есть ли способ отмены стиля или опечатки, предотвращая применение css?

+1

Предварительная строка не в порядке, она не содержит пробелов и вкладок. Я пробовал до, он не работает. Обычный - это завернутый режим, который тоже не помог. Я посмотрел на quirksmode.org. Он утверждает, что IE8 полностью совместим с pre и nowrap. Мне это не кажется. По крайней мере, для текстовых полей. – Aftershock

1

Это должно быть решение для CSS? Если нет, вы можете назначить атрибут wrap = "off" для textarea.

+0

У меня было непоследовательное поведение между IE9 и Chrome 13. Установка атрибута wrap = «off» работала одинаково в обоих браузерах. – jwatts1980

5

Итак, решение, к сожалению, это -
Для Internet Explorer 7 любое значение white-space, отличное от pre, вызовет эту проблему.
Для Internet Explorer 8 любое значение white-space, отличное от pre-wrap, вызовет эту проблему.

Я еще не пробовал Internet Explorer 9.
В случае, если это происходит там, просто создайте пустую страницу с (doctype и) <textarea>, откройте ее и нажмите F12.В консоли (вкладка «Сценарии») введите console.log(document.getElementsByTagName("TEXTAREA")[0].currentStyle.whiteSpace) и просто используйте значение, отображаемое в качестве значения в качестве значения свойства white-space для <textarea>.

Update

Я попытался Internet Explorer 11. В режиме эмуляции, так как Internet Explorer 7 в режиме он ведет себя, как Chrome в режиме совместимости (смысл, только white-space: normal и white-space: nowrap причина этого вопроса). Я предполагаю, что они (непреднамеренно?) Внесли некоторые исправления в большинство режимов эмуляции.

+0

Эта проблема все еще существует в Internet Explorer 11, даже если вы явно задали значение «white-space'» в «normal». – wangkaibule

+0

@wangkaibule - Chrome игнорирует новые строки, если вы установите его на «normal» или 'nowrap'. Думаю, это по дизайну. Однако Internet Explorer 11 исправил остальное. Я обновил свой ответ с данными об Internet Explorer 11. – PhistucK