Focador //Repositório JavaScript
Descrição
Extende elementos incapazes de receber foco, permitindo que eles passem a responder aos eventos keypress, keydown, keyup, blur e focus.
Criado: 2006.02.14 - Modificado 2013.09.17
Criado: 2006.02.14 - Modificado 2013.09.17
Dependências
Código (Download)
//+ Jonas Raoni Soares Silva
//@ http://jsfromhell.com/geral/focuser [rev. #3]
focuser = function(o){
var x, $ = document.body.appendChild(document.createElement("input")), s = $.style,
h = function(e){(o["on" + e.type] instanceof Function) && o["on" + e.type].call(o, e.key);};
$.type = "text", s.position = "absolute", s.left = s.top = "-100px";
o.blur = function(){$.blur();}, addEvent(o, "click", o.focus = function(){$.focus();});
for(x in {keypress: 0, keydown: 0, keyup: 0, blur: 0, focus: 0}) addEvent($, x, h);
};
Exemplo (Exemplo)
<style type="text/css">
#type{
background: #eef;
border: 2px inset #999;
overflow: auto;
padding: 30px;
margin: 30px;
width: 200px;
}
</style>
<div id="type">
<b>Click and type to edit</b> the <div>. Press TAB or click "out" to test the focus.
<i>The objective of this example isn't to edit, but test the "focus" and "key" events.</i>
</div>
<script type="text/javascript">
//<![CDATA[
var t = document.getElementById("type");
focuser(t);
t.onfocus = function(){
this.style.background = "#fee";
};
t.onblur = function(){
this.style.background = "#eef";
};
t.onkeypress = function(k){
var s = this.innerHTML;
this.innerHTML = k == 8 ? s.slice(0, -1) : s + String.fromCharCode(k);
};
//]]>
</script>
Ajuda
- focuser(object: HTMLElement): void
-
Torna o campo focável.
- object
- elemento de referência
Eventos
- Elemento.onkeypress: Function(key: Integer): void
-
Ocorre quando uma tecla é pressionada, pode ser chamada várias vezes enquanto a tecla é mantida pressionada.
- key
- código da tecla pressionada
- Elemento.onkeydown: Function(key: Integer): void
-
Ocorre quando a tecla é pressionada.
- key
- código da tecla pressionada
- Elemento.onkeyup: Function(key: Integer): void
-
Ocorre quando a tecla é solta.
- key
- código da tecla pressionada
- Elemento.onfocus: Function(void): void
- Ocorre quando o elemento ganha foco.
- Elemento.onblur: Function(void): void
- Ocorre quando o elemento perde o foco.
Métodos
- Elemento.focus(void): void
- Foca o elemento.
- Elemento.blur(void): void
- Remove o foco do elemento.
Ranque (Votos: 18)
3.22