Para monitorar os eventos, criamos e utilizamos uma classe chamada
CrossEvent
, com a função de tratar diferenças entre as propriedades
de eventos existentes nos navegadores web. CrossEvent
provê
propriedades "normalizadas", que se apresentam de forma similar nos diversos
navegadores, plataformas e versões.
Propriedade | Descrição |
---|---|
type |
Tipo do evento |
target |
Elemento alvo gerador do evento |
charCode |
Código numérico do caractere digitado |
keyCode |
Código numérico da tecla pressionada |
button |
Código numérico do botão de mouse pressionado (2 = direito) |
altKey ctrlKey shiftKey metaKey |
Valor lógico que indica se Alt, Control, Shift e Meta, respectivamente, foram pressionados |
screenX screenY |
Coordenadas X e Y do mouse na tela |
originalEvent |
Evento original gerado pelo navegador |
O objeto evento da classe CrossEvent
deve ser instanciado a
partir do evento original gerado pelo navegador. Para obtê-lo de forma segura e
compatível, a propriedade padrão event
deve ser passada como
parâmetro no momento em que o evento é capturado, em uma propriedade HTML
onevento (onde evento é o tipo do evento desejado). Além disso,
métodos que tratam um evento devem sempre retornar true
ou
false
e este valor deve ser retornado também na chamada do evento
na tag: onevento="return método(event)"
.
Dessa forma, o retorno do método informa se o navegador pode ou não executar
também a ação padrão para tratamento do evento, quando houver. Para um exemplo
completo, veja o código fonte para o Monitor de Eventos nesta página.
<input ... onevento="return doEvent(event)" /> <script type="text/javascript"> function doEvent(pEvent) { var evt = new CrossEvent(pEvent); ... return true; // ou false, conforme desejado } </script>
Uma discussão detalhada sobre o tratamento das propriedades de eventos nos
diversos navegadores web pode ser encontrada na página
Event properties, do site QuirksMode.
© 2003-2020, Márcio d'Ávila, mhavila.com.br, direitos reservados. O texto e código-fonte apresentados podem ser referenciados, distribuídos e utilizados, desde que expressamente citada esta fonte e o crédito do(s) autor(es). A informação aqui apresentada, apesar de todo o esforço para garantir sua precisão e correção, é oferecida "como está", sem quaisquer garantias explícitas ou implícitas decorrentes de sua utilização ou suas conseqüências diretas e indiretas.