Alert fechar depois de um tempo

Alguem sabe como fechar um alert em javascript depois de um tempo? da pra configurar o alert?
Preciso que seja exatamente um alert, pois tentei com uma pagina nova com o window.open mas nao deu certo. Tenho um problema com o ie9 que ele só responde uma funçao de validação quando existe um alert.

não é possível manipular a janela de alert. eu tentaria criar a minha própria janela e manipularia ela da melhor forma.

criar uma janela no js???

criar essas janelas igual primefaces, gwt, etc faz. vc pode “pintar” ela na tela com canvas ou mesmo criar uma com jquery e div´s.

<html>
<head>
<title>Criar uma DIV igual a uma janela Popup</title>
<style>
#pop{display:none;position:absolute;top:50%;left:50%;margin-left:-150px;margin-top:-100px;padding:10px;width:300px;height:200px;border:1px solid #d0d0d0}
</style>
</head>
<body>
<div id="pop">
<a href="#" onload="alert('teste');">[Fechar]</a>
<br />
	nao fecha

</div>

<a href="#" onclick="document.getElementById('pop').style.display='block';">Mostra</a>
</body>

± isso?

nem assim funciona

<a href="#" onload="document.getElementById('pop').style.display='none';">[Fechar]</a>

nao tem como no onload da div ela fechar?

isso mesmo!

fechar no onload? se fechar no onload, para que abrir entao? nao faz sentido.

&lt;html&gt;
&lt;head&gt;
&lt;script type="text/javascript" src="resources/js/jquery-1.7.min.js"&gt;&lt;/script&gt;
&lt;title&gt;Criar uma DIV igual a uma janela Popup&lt;/title&gt;
&lt;style&gt;
#pop {
	display: none;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-left: -150px;
	margin-top: -100px;
	padding: 10px;
	width: 300px;
	height: 200px;
	border: 1px solid #d0d0d0
}
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
	&lt;div id="pop"&gt;
		Minha Janela
	&lt;/div&gt;

	<a  #pop').fadeIn(300).delay(800).fadeOut(400);'>Mostra</a>
&lt;/body&gt;

Acho q vc quer algo assim

pro internet explorer faz kkkk
seguinte, tenho um formulario que preciso que ele fique dando foco em um campo até ele ser validado! ELE NAO PODE SAIR DE LÁ… se sair tem que voltar.

BLZ

diversas funções, leitura de teclado, enter, tab, clique com o mouse…
porem meu feche resolveu clicar com o botao direito do mouse e para nossa alegria depois de dar um esc na propriedade da janela que abre ele invalida todos os testes de validação do campo e o infeliz do foco vai para o campo clicado.

bem… bloquiei de aparecer a propriedade com oncontextmenu="return false;" mas só resolve na parte da propriedade. O botao direito ainda funciona!

depois com os testes percebi que… quando eu coloco um alert ( ou uma janela ) ele para de dar o bug…

Mas fica estranho o cara clicar e aparecer um “pam” na tela falando, campo invalido. Fora que isso nao esta no escopo.

Mas resolve o problema! e se eu fechar o alert ou fechar a div acho que resolveria o problema, mas ela nao pode aparecer!!

Então depois dessa longa historia faz sentido pro IE kkk

edit: mas só pra ele… pq pros outros um return false ja resolve. Oque eu andei pesquisando é que tinha um bug no IE quando o pessoal clicava com o botao direito… resolveram da seguinte forma, invalidando oque é click direito. Porque o browser reage de forma inesperada quando é o direito. O.o

  • uma coisinha só apartir do ie9. diversos códigos para bloqueio do mouse direito funcionam em versos posteriores

ele nao esta dando fade out eu acho.
Dei uma alterada

<a  #pop'.fadeIn(300).delay(800).fadeOut(2);'>Mostra</a>  

acho que estava com erro de sintaxe mas nem assim

estou tentando dar um hide depois de um settimeout mas nao esta rolando acho que estou apanhando na sintaxe

CONSEGUI \O/ (fechar a div mas nao adianta no focu)

consegui também criar um dialog mas nao adiantou…

bom vamos lá, tinha um conflito basico entre keyup e keydown do mouse. Deve ser alguma coisa com concorrencia

então, eu testei esse codigo e funciona de boa. testei no chrome, firefox, e IE e todos eles funcionaram de boa.

eh q o forum esta sumindo com o codigo do jquery.

segue o codigo no pastebin
http://pastebin.com/8rbPbnzz

no ie9?

aahh sim… realmente funciona mas nao voltava o foco para onde eu queria. Era um problema de keydown e keyup

entendi. então esta resolvido?

agora tah perfeito… só a gambiarra que tah pior que o macgyver kkk

primeiro na janela criei uma div pop

ela só serve pra existir mesmo nao vai fazer nada. só abrir e dentro dela vai ter um dialog que vai abrir, pedir o foco e fechar.

pra ele fazer isso criei uma função chamada espera

function espera() { $('#pop').dialog('open'); $('#pop').dialog('close'); }

Função para entrar em foco, tem uma serie de variaveis que recebe mas é para verificar se ele pode ou nao sair

this.entraEmFoco = function entraEmFoco()
	{
		espera();
		if(cWhen != false)
		{
			var ret;
			if(cWhen != true)
			{
				//cWhen é uma funcao
				ret = eval(cWhen)();
			}
			else
				ret = true;
			
			
			if(ret == true)
			{
				var ativo = document.getElementById(cId);
				setTimeout(function(){ativo.focus();},10);
				return true;
			}
			return false;
		}
		return false;
	}

esta parte é para saber se pode tirar o foco do input

this.saiDoFoco = function saiDoFoco()
	{
		if(cValid == true)
			return true;
			
		var elem = document.getElementById(cId);
		var valor = elem.value;
		return eval(cValid)(valor);
	}
	
	return this;
}

e aqui esta o pulo final do gato

$('input').add('textarea').mousedown(function(ev){
		return false;
	});
	
	$('input').add('textarea').mouseup(function(ev){
		var podeSair = lis[pos].saiDoFoco();
		var ant = pos;
		if(podeSair == false)
		{
		
			lis[ant].entraEmFoco();
			return false;
		}
		//muda o foco
		var novoId = ev.target.id;
		pos = parseInt(novoId);
		var ret = lis[novoId].entraEmFoco();
		while(ret == false)
		{
			pos = parseInt(pos) - 1;
			ret = lis[pos].entraEmFoco();
		}
		return true;
	});

mouse down precisa retornar false hehe

vlw galera flw