Controlando vários eventos com uma mesma função

Por vezes é necessário utilizar uma mesma função para controlar as mudanças em um campo.

Pense por exemplo, em um campo de digitação de documento que possa admitir tanto CPF como CNPJ. Ai você quer controlar a validade do mesmo na digitação, na saída, na entrada, etc…

Em YeAPF fica assim:

/* função para verificar a validade do campo */
function verificarCampo() {
  var doc=y$('documentoCliente').value;
  if ((doc.isCNPJ()) || (doc.isCPF()))
    y$('documentoCliente').deleteClass('erro');
  else
    y$('documentoCliente').addClass('erro');
} 

/* quando o DOM estiver pronto, crie os eventos */
addOnLoadManager( 
  function () {
    addEvent('documentoCliente', 
             'keyup change blur paste cut click', 
             verificarCampo);
  }
);

Lembre porém que a mudança na addEvent() foi feita no 0.8.46 para admitir vários eventos de uma mesma vez.