Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

AspMan

[Resolvido] Bloquear ações do teclado/mouse dentro de div

Recommended Posts

Boa tarde meus caros,

 

Não sei se podem me ajudar, mas acontece o seguinte, eu desenvolvi um sistema e dentro dele utilizo uma janela modal feita com DIV (chamo um dive que está com display:none). Porém surgiu uma dificuldade, talvez vcs possam me ajudar.

 

Preciso bloquear o TAB dentro dessa janela modal(o mouse já está bloqueado, não consigo clicar nos elementos da janela pai[a principal]).

Você me pergunta, porque?

 

Quando abro a janela modal, existe mais alguns dados para serem preenchidos, só que as vezes o usuário, na pressa, aperta mais tabs do que o necessário e acaba fechando o modal pois o TAB vai direto para a barra de endereço e daí as informações cadastradas ficam incorretas.

 

Já vi algo em Jquery que bloqueia o TAB dentro da div do MODAL, e só é possivel focar nos elementos (inputs, links) dele.

 

http://trentrichardson.com/Impromptu/index.php

 

Nesse link tem esses exemplos, só que esse Impromptu é para alertas de confirmação, que não é interessante. Analisei o código javascript e também não consegui entender muito bem o funcionamento.

 

Então só recapitulando:

 

Tenho uma página com requisições assíncronas e vários inputs;

Em determinado momento o usuário clica em finalizar;

com Jquery eu exibo um div que está com display:none;

mudo o foco para o primeiro campo input do div e bloqueio as ações do mouse da janela pai (tbm com jquery)[estilo aqueles modais com fundo escuro];

 

>> FALTA:

Bloquear a ação do [TAB] dentro dessa div para pular somente para os inputs ou links dessa div modal.

 

Caso seja possível me ajudar ficarei grato, e desde já agradeço a atenção de todos.

Lembrando que tenho interesse sim em saber como fazer, e não pegar scripts prontos da web e "adaptar" ao meu projeto.

 

 

Att. Misael

 

 

 

 

'A mente que se abre a uma nova idéia, jamais voltará ao seu tamanho original.' Albert Einstein

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara.. pensei numa coisa aqui..

 

já que você tá usando jQuery, você possui o pseudo-seletor

.not()

 

faça uma combinação com ele, e veja, se no onkeydown do TAB no documento (ai você pega o keyCode da tecla), se o foco vai ir para algum lugar que não seja os inputs do teu modal.

 

se for, você retorna o .focus() para dentro do modal.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara.. pensei numa coisa aqui..

 

já que você tá usando jQuery, você possui o pseudo-seletor

.not()

 

faça uma combinação com ele, e veja, se no onkeydown do TAB no documento (ai você pega o keyCode da tecla), se o foco vai ir para algum lugar que não seja os inputs do teu modal.

 

se for, você retorna o .focus() para dentro do modal.

 

 

Eu tentei assim:

$("#Link10").focusout(function(event){
if(event.keyCode!='9')
$("#input1").focus();
}); 
Até que o o conteúdo do #input1 fica com o select, porém o foco do tab continua andando pela página, inclusive ele vai direto para a barra de endereços da popup. :s

 

Não consegui utilizar o selector .not() na expressão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver. Pensei um pouco mais e fui no site da API JQUERY, e realmente estava fazendo errado.

 

Fiz da seguinte maneira:

                $("#link10").keypress(function(event){
		if(event.keyCode==9){
		$("#input").select();
		return false;
		}
		}); 

Obrigado a todos que tentaram ajudar! Depois de uma semana pelejando, finalmente apareceu a luz no fim do tunel.

Pode fechar o tópico.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.