Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Ребята намучлся с осбытиями (https://javascript.ru/forum/events/25960-rebyata-namuchlsya-s-osbytiyami.html)

motoroller 21.02.2012 13:01

Ребята намучлся с осбытиями
 
Задача простая, но вот решить не смог ((
Есть кнопка по которой появляется окошко (если окошко скрыто, то показываем и наоборот):
$("#regionSelTitle").click(function() {
		var obj = $("#regionSelObj");		
		if(obj.is(":visible"))
			obj.hide().find('input').val("");
		else
			obj.show().find('input').focus();
	});


Так вот хочется чтобы еще окошко закрывалось, не только по кнопке, который мы открыли, но и если потеряло фокус текстовое поле в этом окошке ...

$("#regionSelSearch").blur(function() {
		$(this).val("");
		$("#regionSelObj").hide();
	});


Дописал, все хорошо, когда теряет фокус все закрываем, но проблема появилась другая ... что когда окошко открыто ... оно теперь не закрывает по клику кнопки ...
я думаю получается следующее:
если окно открыто ... и я кликаю по regionSelTitle (click), сразу пеерхватыватся событие и переходит к regionSelSearch(blur) и там уже закрывается ... и потом переходит опять к regionSelTitle (click), а там оно сомтрит уже что окошко закрыто и открывает его вместо того чтобы изначально закрыть ...
скажите как это победить?
пробовал
event.stopPropagation();
не помогло

Вот структура html:

<div id="regionSel">
      	 
                        <span id="regionSelTitle">Кликаю для выбора региона</span>
                    </div>
                    
<div id="regionSelObj">
                    	<input type="text" id="regionSelSearch" />
                      
                    </div>


Часовой пояс GMT +3, время: 16:55.