2009-06-06 38 views
7

Esto funciona en Firefox, pero no en IE. ¡Cualquier ayuda sería muy apreciada! ¡Gracias!Javascript IE Evento

var form = document.getElementById('theform') 
    /* create the event handler */ 
    form.gen.onclick = function(evt) { 
     var f = evt.target.form 
     var y = f.year.value 
     var m = f.month.value 
     genCalendar(document, y, m, 'theCalendar') 
    } 
+6

debe terminar las declaraciones con ';' - el ';' implícito en las terminaciones de línea es un mecanismo de reserva y consideraría usarlo como una mala práctica (los demás pueden estar en desacuerdo) – Christoph

Respuesta

1

Como se mencionó, IE no pasa el objeto de evento como un parámetro. Prueba esto:

var form = document.getElementById('theform') 
    /* create the event handler */ 
    form.gen.onclick = function(evt) { 
    if(!evt) 
     evt = window.event; 
    var f = evt.target.form 
    var y = f.year.value 
    var m = f.month.value 
    genCalendar(document, y, m, 'theCalendar') 
} 

O mejor aún, utilizar una biblioteca multi-navegador, como Prototype.js o jQuery.

+0

también, tendrá que usar '.srcElement' en su lugar o f '.target' en IE – Christoph

0

Es por esto que debe considerar el uso de una biblioteca de JavaScript como jquery, YUI o prototipo. Estas bibliotecas resumen las diferencias basadas en el navegador que simplifica su codificación.

1
  • ¿Cuándo se ejecuta este script? Puede que tenga que ejecutar este proceso de carga guión, después de que el DOM está totalmente cargado
 
<script> 

function go() 
{ 
    alert('dom is loaded: register event handlers now') ; 
} 

</script> 

<body onload=" go(); "> 



</body> 

0

Desde mi propia búsqueda de la más exitosa fue esta

function clickHandler(e){ 
var elem, evt = e ? e:event; 
if (evt.srcElement) elem = evt.srcElement; 
else if (evt.target) elem = evt.target; 

alert ('' 
    +'You clicked the following HTML element: \n <' 
    +elem.tagName.toUpperCase() 
    +'>' 
) 
return true; 
} 

document.onclick=clickHandler; 

provienen de allí muy útil y explicativa http://www.javascripter.net/faq/eventtargetsrcelement.htm