Мне нужно иметь текстовое поле, которое позволяет пользователю вводить только 2 строки текста.Textarea позволяет пользователю вводить только 2 строки
Я выполнил это с помощью e.preventDefault() в событии keyDown, когда lineCount равно 2. Проблема в том, что пользователь использует backspace и удаляет введенный текст.
Как отслеживать линии и разрешать ввод текста еще до повторного ввода пользователем двух строк?
Вот что я был в состоянии выполнить:
var lineCount = 0;
$('#editor').keydown(function (e) {
if (e.keyCode == 13) {
lineCount++;
}
if (e.keyCode == 8) {
//needs to remove characters, deduct linecount when it gets to first line and reinstate typing
return true;
}
if (lineCount >= 2) {
e.preventDefault();
return false;
}
});
http://jsfiddle.net/blueberry20/yphkafqn/2/
С точки зрения удобства использования, это ужасно. Если пользователь пытается ввести третью строку, все будет заблокировано на месте, и дальнейшее редактирование не будет выполнено. Почему бы кто-нибудь этого хотел? – riwalk
@ Stargazer712 true - я дал одно возможное решение в отношении его вопроса - выкапывая больше, он может добавить к нему дополнительные функции: одна кнопка для повторного включения * textarea *? - в реальном мире кто-то может этого захотеть. :) – Hatef