Javascript.RU

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

Правильно написать событие focusout
У меня есть задача, в которой нужно показывать/удалять блок при установке/снятии фокуса в поле формы. Ну, как подсказки на яндексе, но с тем отличием, что на яндексе в подсказке ссылки, и при клике на них пользователь сразу переходит по ним. А у меня при клике на ссылку текст лишь передаётся в поле и пользователь работает с формой дальше.

К сожалению, если я применяю такой код который расположен ниже, то блок исчезает, а значение ссылки в поле не попадает. Подскажите, пожалуйста, как мне написать функцию, чтобы focusout работал, но не когда я кликаю по ссылкам в блоке.

$('#field').live("focusout", function()
{$('#list').remove();
});
Ответить с цитированием
  #2 (permalink)  
Старый 24.05.2010, 22:17
Новичок на форуме
Отправить личное сообщение для Roboteck Посмотреть профиль Найти все сообщения от Roboteck
 
Регистрация: 24.05.2010
Сообщений: 7

Может так:

<div class="field_blok">
	<div class="field">
	  <input type="text" class="field" />
	</div>
    <div class="field_list">
      <div>Строка 1</div>
      <div>Строка 2</div>
      <div>Строка 3</div>
    </div>
</div>


var field_over=false; // наведен ли курсор на input или список
	
	var list_vis_hid=function ()
	{
		if (field_over) // Если мышь наведена на field или field_list, то показываем
		{
			$(".field_list").show();
		}
		else // Если нет, то скрываем
		{
			$(".field_list").hide();
		}
	};
	
	$(document).ready(function ()
	{
		$(document).click(list_vis_hid);
		
		$(".field_blok").hover(function ()
		{
			field_over=true;
		},
		function ()
		{
			field_over=false;
		});
		
		$(".field").blur(list_vis_hid);
	});
Ответить с цитированием
  #3 (permalink)  
Старый 24.05.2010, 22:43
Интересующийся
Отправить личное сообщение для Glook Посмотреть профиль Найти все сообщения от Glook
 
Регистрация: 24.05.2010
Сообщений: 23

Спасибо, это работает.
Правда я не ожидал, что так много кода будет. Думал, раз jquery, то смогу парой строк обойтись.

Вообще, заметил, что код который пишут в примерах на том же jqueryAPI сильно отличается от того что в действительности можно найти например в исходниках сайтов.
Ответить с цитированием
  #4 (permalink)  
Старый 25.05.2010, 11:30
Новичок на форуме
Отправить личное сообщение для Roboteck Посмотреть профиль Найти все сообщения от Roboteck
 
Регистрация: 24.05.2010
Сообщений: 7

возможно есть способ попроще, очень даже вероятно что есть куча плагинов, но мне в голову пришел этот
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как назначить событие html-элементу? Jony X Общие вопросы Javascript 15 15.09.2009 20:55
Как правильно послать XML в POST запросе LowCoder AJAX и COMET 10 15.07.2009 23:20
какое событие возникает во время формирования html IT-AleX Events/DOM/Window 2 20.02.2009 16:13
Как правильно обработать событие? BAnder Events/DOM/Window 19 03.02.2009 14:09
как проверить поддеружет браузер определенное событие? GOll Элементы интерфейса 9 24.07.2008 14:40