Muestra el código de valueon por favor. De todas maneras, no estás entendiendo la explicación de @ZK. Para asignar una función al evento onfocus, o lo haces de una manera o de otra, pero no tiene sentido que lo hagas de las dos.
Ahora mismo no puedo pero luego te pongo un ejemplo de cada cosa, o si @ZK se me adelanta, estoy seguro de que te lo explicará mejor.
Saludos (:
Edit: El ejemplo que te decía. Tenemos dos funciones:
Código Javascript
:
Ver originalvar fn1 = function(){
// ...
};
element.onfocus = fn1;
// o
element.onfocus = function(){ fn1(); };
// Sin embargo
var fn2 = function(elemento){
// ...
};
element.onfocus = function(){ fn2(this); };
Si te fijas en el 2º caso sólo se puede hacer de esa manera. Podrías pensar en esto:
Código:
element.onfocus = fn2(this);
Lo primero es que en este caso a onfocus no se le asignaría un handler, sino lo que devuelva la función (undefined por defecto). Además de esto, en este caso this hace referencia a window.
Espero que lo hayas entendido.
Saludos (: