Javascript.RU

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

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

Код работает не совсем как надо. Если после blur делаем focus в тот же input, то при последующем вводе email события удваиваются, то есть вместо одного keydown происходит два, вместо одного blur - два.

Как этого избежать?


$("#email").focus(function()
{
	var t = 'test';
	
	console.log("focus %s",t);
	
	$(this).on(
	{
		blur: function()
		{
			console.log("blur %s",t);
		},
		keydown: function()
		{
			console.log("keydown %s",t);	
		}
	});		
});
Ответить с цитированием
  #2 (permalink)  
Старый 05.07.2012, 13:30
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

sdaww,
Ставьте однократное событие - при возникновении которого - ставьте новое однократное - обработчик в отдельной функции вызываемой по событию

http://jquery-docs.ru/Events/one/#typedatafn
Ответить с цитированием
  #3 (permalink)  
Старый 05.07.2012, 14:15
Новичок на форуме
Отправить личное сообщение для sdaww Посмотреть профиль Найти все сообщения от sdaww
 
Регистрация: 05.07.2012
Сообщений: 2

Изврат конечно, но такой код вроде работает:

$("#email").one(
{
	'focus': function()
	{
		var t = 'test';

		function ficus()
		{
			console.log("focus %s",t);	
		}
		
		ficus();
		
		$(this).on(
		{
			'focus': function()
			{
				ficus();
			},			
			'blur': function()
			{
				console.log("blur %s",t);
			},
			'keydown': function()
			{
				console.log("keydown %s",t);	
			}
		});			
	}
});
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
События при перемещении между вкладками only_dimon Events/DOM/Window 2 05.02.2015 00:21
Изменение псевдокласса DISABLED при активации события Electron Общие вопросы Javascript 30 14.11.2011 09:42
события focus и blur AdeL1ne jQuery 1 24.09.2011 08:26
Открыть в новом окне, а при повторном нажатии обновить то же старое-новое окно libinstyle Events/DOM/Window 2 05.04.2010 19:13
Добавление класса на елемент по id при фокусе на input Andrew_tl Events/DOM/Window 1 18.02.2010 18:09