Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.12.2014, 16:25
Аспирант
Отправить личное сообщение для paveltkachev Посмотреть профиль Найти все сообщения от paveltkachev
 
Регистрация: 09.04.2014
Сообщений: 74

Добавление новых INPUT по нажатию ENTER
Я написал html-код

<ol id="list">
	<li><input class="list" maxlength="30"></li>
</ol>


к нему добавил JavaScript

$('.list').keypress(function(event){
	var keyCode = event.keyCode ? event.keyCode :
	event.charCode ? event.charCode :
	event.which ? event.which : void 0;

	if(keyCode == 13)
	{
		$('#list').append('<li><input class="list" maxlength="30"></li>');
	}	
});


В итоге когда я нажимаю на ENTER, то появляется новое поле INPUT. Но если я нажимаю на ENTER внутри добавленного поля, то скрипт это событие не обрабатывает.

Как сделать так, чтобы добавление по ENTER работало и для имеющегося изначально и для добавляемых INPUT?
Ответить с цитированием
  #2 (permalink)  
Старый 18.12.2014, 17:24
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,491

$('#list').on('keypress', '.list', function(event){ //вешаем на верхний контейнер, но события ожидаем именно от '.list'
    var keyCode = event.keyCode || event.charCode || event.which;
 
    if(keyCode == 13)
    {
      $( '<li><input class="list" maxlength="30"></li>' ).insertAfter( this ).find('.list').focus(); //возможно не нужная правка)
    }  
});
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 18.12.2014, 17:40
Аспирант
Отправить личное сообщение для paveltkachev Посмотреть профиль Найти все сообщения от paveltkachev
 
Регистрация: 09.04.2014
Сообщений: 74

Спасибо! Вы сразу и проблему фокуса в новом INPUT решили.
Ответить с цитированием
  #4 (permalink)  
Старый 18.12.2014, 17:57
Аспирант
Отправить личное сообщение для paveltkachev Посмотреть профиль Найти все сообщения от paveltkachev
 
Регистрация: 09.04.2014
Сообщений: 74

Может подскажите, как вычислять количество введённых символов в активном INPUT?
Ответить с цитированием
  #5 (permalink)  
Старый 18.12.2014, 20:18
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,491

$('#list').on('input', '.list', function(event){ 
    var length = this.value.length;
});
__________________
29375, 35
Ответить с цитированием
  #6 (permalink)  
Старый 19.12.2014, 06:14
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Aetae, говорят event.which кроссбраузерное
Ответить с цитированием
  #7 (permalink)  
Старый 19.12.2014, 16:25
Аспирант
Отправить личное сообщение для paveltkachev Посмотреть профиль Найти все сообщения от paveltkachev
 
Регистрация: 09.04.2014
Сообщений: 74

А как отловить нажатие Ctrl + Enter?
Ответить с цитированием
  #8 (permalink)  
Старый 19.12.2014, 16:55
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,491

paveltkachev,
if(event.ctrlKey && event.which === 13)

Rise, ну и хорошо, мопед не мой.)
__________________
29375, 35
Ответить с цитированием
  #9 (permalink)  
Старый 23.12.2014, 10:55
Аспирант
Отправить личное сообщение для paveltkachev Посмотреть профиль Найти все сообщения от paveltkachev
 
Регистрация: 09.04.2014
Сообщений: 74

Подскажите, пожалуйста, ещё. Как удалить <li><input class="list" maxlength="30"></li>, то есть и input в котором совершаются действия и его родителя, если пользователь нажимал бэкспейс и удалили весь текст и снова нажал бэкспейс? Это ткак в Word, получается.
Ответить с цитированием
  #10 (permalink)  
Старый 24.12.2014, 11:28
Аспирант
Отправить личное сообщение для paveltkachev Посмотреть профиль Найти все сообщения от paveltkachev
 
Регистрация: 09.04.2014
Сообщений: 74

Подскажите, какой keyCode у кнопок del и backspace?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обход элементов формы по Enter myshara jQuery 14 20.10.2014 15:43
Срабатывает нажатие на button при нажатии Enter внутри input rebeled Элементы интерфейса 19 07.02.2013 16:07
Как отделить нажатие кл. Enter в поле INPUT от нажатия Enter в выпадающем списке? Маэстро Events/DOM/Window 7 18.07.2012 09:11
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27
Отмена submit по нажатию Enter Bratok Events/DOM/Window 1 28.04.2009 05:11