Javascript.RU

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

событие клика не на input-элементе
хочу сделать такую штуку.
есть строчка html:
History: per <u><b><span id="per">0</span></b></u> days

по клику н а цифру появляется текстовый input в котором молжно редактировать цифру пока за данных за период дней.

вот настрочил маленький кодик который в общем-то выполянет то что я хочу.
$("#per")
		.click(function(e){
			e.preventDefault();
			var input = $('<input />').attr({value:$(this).text(),name:"per",size:1,style:"border:1px solid #ccc;text-align:center"});
			$(this).html(input);
			input.focus();
		})
		.change(function(e){
			var value = $(this).find('input').val();
			$(this).html(value);
		})
		;


НО срабатывает только если данные изменены и нажат Enter.
хочу сделать так чтобы срабатывал и тогда когда клацают мышью гдето НЕ на инпуте

но н е могу найти события, которое бы подошло для этого...в событиях инпута события unfocus к сожалению нет...
подскажите пожалуйста, как можно организовть событие,которое мне нужно?
Ответить с цитированием
  #2 (permalink)  
Старый 08.04.2009, 11:51
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от czar
в событиях инпута события unfocus к сожалению нет
blur
Ответить с цитированием
  #3 (permalink)  
Старый 08.04.2009, 12:33
Интересующийся
Отправить личное сообщение для czar Посмотреть профиль Найти все сообщения от czar
 
Регистрация: 08.04.2009
Сообщений: 25

Сообщение от Kolyaj Посмотреть сообщение
blur
да, почти то что надо... только действует почему-то только при изменении данных.\ну пусть будет пока так.
Ответить с цитированием
  #4 (permalink)  
Старый 08.04.2009, 12:36
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Всегда он действует.
Ответить с цитированием
  #5 (permalink)  
Старый 09.04.2009, 04:50
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

меня что вообще смущает: то, что change все-таки вызывается O_o но все еще страннее, в opera - по клику мышкой за пределами, в ff - по Enter'у (в обоих случаях содержимое должно измениться). В ie вообще не работает. В opera и ff добавили onchange для span O_o Кстати по Enter onchange в opera срабатывает, но если через jQuery назначать - то нет

p.s. пара замечаний к коду: 1) preventDefault тут не нужно, 2) вместо html можно использовать append (где input) и text (где value)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
какое событие возникает во время формирования html IT-AleX Events/DOM/Window 2 20.02.2009 16:13
как проверить поддеружет браузер определенное событие? GOll Элементы интерфейса 9 24.07.2008 14:40
Копирование из одного input в другой input bar-boss Общие вопросы Javascript 7 08.04.2008 19:10
Разным элементам input - разное форматирование. Как? eclipse (X)HTML/CSS 1 25.10.2007 13:55
Позиция курсора в input type="text" (ie) Кирпич Общие вопросы Javascript 2 21.10.2007 06:44