Ver Mensaje Individual
  #4 (permalink)  
Antiguo 03/04/2012, 19:25
Avatar de zerokilled
zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 8 meses
Puntos: 1485
Respuesta: event.preventDefault() en firefox

¡simple! agrega un nuevo parámetro a la función, puede ser con el mismo nombre (event), así te evitas cambiar la variable dentro del cuerpo de la función. luego, a la invocación de la función (en el atributo onclick) le agregas el argumento del objeto Event. puede ser arguments[0] o event.

estoy casi seguro que te quedará una confusión respecto al argumento event dentro del atributo onclick. sucede que los atributos relacionados a eventos se transforman como funciones cuando el navegador analiza el código html. por otra parte, cuando un evento ocurre el navegador crea un objeto tipo Event – en realidad puede ser de otro tipo más complejo, pero Event es el objeto más genérico del cual heredan todos los demás – y lo propaga por el DOM. cuando un listener lo captura se lo pasa al handler como argumento. no recuerdo si es parte del estándar o si es dependiente de cada implementación, automáticamente el nombre del argumento es event. o sea, que cuando el navegador analiza el atributo crea una función tal que function(event){ ... }. por eso puedes usar event dentro del atributo onclick. nótese que no se está refiriendo a una variable global – como el caso de iexplorer ya que este tiene un modelo de evento distinto – sino que hace referencia a la variable local de esa función creada por el navegador. por eso es que tienes que pasarle el objeto a tu función.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.