Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   запретить событие blur (https://javascript.ru/forum/events/31063-zapretit-sobytie-blur.html)

a11igator 25.08.2012 12:25

запретить событие blur
 
есть скрипт:
$("#s").not('.s-search-page').blur(function(){
		$("#h-search").css({
						
		$(this).css({'width':'173px','color':'#999'});
		if ($(this).val()==''){
			$(this).val("поиск...");
			}
	});


при потере фокуса элемент изменяется,

но при событии click другом элементе:

$("#search-button").not('.s-search-page').click(function(){
		
			$("#searchform").submit();
			$("#search-button").removeClass("s-search-page");		
			});

фокус с элемента уходит, а надо при клике не выполнять предыдущий скрипт по событию blur

Как сделать?

a11igator 25.08.2012 12:49

упс сам дошел....

при событии наведении и увода с элемента пишем в переменную:

var x;
x = 0 ;

document.getElementById('h-search').onmouseover = function() {
    x = 1;
}

document.getElementById('h-search').onmouseout = function() {
    x = 0;
}

в скрипт вставляем условие если не на элементе то выполняем, если нет, то нет)

$("#s").not('.s-search-page').blur(function(){
		if(x == 1)return;
		$("#h-search").css({
						'background-image':'url(images/hsearch-p.png)',
						'background-position':'0 0',
						'width':'173px'});
						
		$(this).css({'width':'173px','color':'#999'});
		if ($(this).val()==''){
			$(this).val("поиск...");
			}
	
	$("#search-button").removeClass("full");
	});


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