Document.hasFocus()

O método Document.hasFocus() retorna um valor Boolean que indica se o documento ou qualquer elemento dentro do documento está com o foco ativo. Este método pode ser usado para determinar se o elemento ativo em um documento tem foco.

Quando se está visualizando um documento, um elemento com focus é sempre o ativo no mesmo, mas um elemento ativo não necessariamente tem o foco. Por exemplo, um elemento ativo com uma janela (popup) que não é a principal não tem foco.

Sintaxe

focused = document.hasFocus();

Valor retornado

false se o elemento ativo no documento não tem foco; true se o elemento ativo no documento tem foco.

Exemplo

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>TEST</title>
<style>
#message { font-weight: bold; }
</style>
<script>
setInterval( checkPageFocus, 200 );

function checkPageFocus() {
  var info = document.getElementById("message");

  if ( document.hasFocus() ) {
    info.innerHTML = "O documento tem o foco.";
  } else {
    info.innerHTML = "O documento não tem o foco.";
  }
}

function openWindow() {
  window.open (
    "http://developer.mozilla.org/",
    "mozdev",
    "width=640,
    height=300,
    left=150,
    top=260"
  );
}
</script>
</head>
<body>
  <h1>Exemplo do JavaScript hasFocus</h1>
  <div id="message">Esperando por ação do usuário</div>
  <div><button onclick="openWindow()">Abre uma nova janela</button></div>
</body>
</html>

Especificação

Especificação Estado Comentário
HTML Living Standard
The definition of 'Document.hasFocus()' in that specification.
Padrão em tempo real Definição inicial

Compatibilidade com navegadores

Estamos convertendo nossos dados de compatibilidade para o formato JSON. Esta tabela de compatibilidade ainda usa o formato antigo, pois ainda não convertemos os dados que ela contém. Descubra como você pode ajudar! (en-US)

Funcionalidade Chrome Firefox (Gecko) Internet Explorer Opera Safari
Suporte básico 30 3.0 (1.9) 6.0 Não suportado (Yes)
Funcionalidade Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Suporte básico ? 1.0 (1.9) ? Não suportado ?

 

Veja também