2010-08-18 11 views
5

Tengo un error extraño con IE8 y las búsquedas de código postal. Puede que no sean las búsquedas de código postal lo que está causando, solo una llamada AJAX que modifique una selección. Configuré una página de prueba here. Si hace clic en Buscar dirección, y luego hace doble clic (bastante rápido) en una de las direcciones que se encuentran dentro del límite de la div en borde rojo, verá el siguiente error en IE8.Problema de IE8 extraño con un seleccionar que ejecuta AJAX

Nota: Me resulta incoherente reproducir el error, pero si desplaza la lista de direcciones hasta la parte inferior y luego hace doble clic rápidamente en Holly Cottage, debería reproducir el error.

IE8 Oddities

Si alguien puede arrojar luz sobre el comportamiento peculiar de este que sería muy apreciado. ¿Es esto un error de IE8?

+0

No obtengo ningún resultado con el botón Buscar dirección. El resultado de la llamada es "Error de parse: error de sintaxis, inesperado T_STRING en /home/sitecrit/public_html/test/ie8-bug/postcode.php en la línea 1" – Ivo

+0

@ Ivo Es un error extraño pero no relacionado, está sucediendo cuando Subo el archivo php, está combinando todas las líneas de código en una y eliminando un montón de espacio en blanco. Creo que esto tiene que ver con el formato de archivo de texto de unix/windows. – bcmcfc

+1

Me acabo de dar cuenta, y debo ser lento o algo así, porque pensé que este era el comportamiento esperado (facepalm), pero la solicitud de ajax consistentemente devuelve un error en Firefox como lo que dijo @Ivo, haciendo que la dirección 'select' estar poblado sin nada. –

Respuesta

2

He encontrado el problema - a los navegadores no les gusta tener javascript:void() establecido para el atributo href. Si desea tener un ancla operativa cuya acción predeterminada se cancele, utilice # para el atributo href, luego haga que el controlador de eventos para ese ancla return false cancele la acción predeterminada del navegador.


Eh ... bien ... lo siento por mi afán de publicar una respuesta y no se vuelve a comprobar que el problema fue resuelto correctamente.

Tengo dificultades para encontrar el problema. Solo voy a arriesgarme a adivinar aquí: los dos efectos que se ejecutan y terminan al mismo tiempo confunden IE8, causando que el div se configure a una altura de 1px. Por supuesto, esto supone un error en la implementación de jQuery de la cola de efectos, que definitivamente no puedo responder. Es solo mi teoría en este momento: mi falta de familiaridad con la barra de herramientas del desarrollador de IE me impide seguir investigando.

+0

Gracias por su respuesta. Cambié el void() s por #s y el problema persiste. – bcmcfc

1

Supongo que es un problema con usted ejecutando animaciones. Su acción asíncrona desencadena algunas animaciones deslizantes.

Primero: Intenta iniciar sesión terminaciones de todas las animaciones (poner una función de devolución de llamada de la llamada slide* e ingrese un texto a la consola.) Para ver si se encuentran en el orden correcto - supongo que no lo hacen y ese es el problema.

Segundo: Pruebe agregar .stop() antes de cada animación desencadenada de forma asíncrona para que se rompan otras animaciones que funcionan al mismo tiempo.

Tercero: Si lo anterior no ayudó a tratar esto para cada animación:

if($(this).data('running')==0){ 
$(this).data('running',1).slideUp(function(){$(this).data('running',0)}); 
}else{ /*call with timeout or ignore...*/ } 

Es un semáforo en un elemento básico.

O

Usted puede usar colas .animate y animación en jQuery correctamente, pero sería un poco de una exageración para este caso (creo).

0

Mi primera reacción es que puede tratarse de un problema de CSS. Si encuentro el valor predeterminado y hago clic en el enlace 'Encontrar dirección' una vez, veo un problema de diseño similar (aunque no idéntico). La altura de cada sección se ve colapsada, como si las secciones flotantes no recogieran la altura de contenido correcta.Si especifico incrementalmente una altura en cada fila de contenido o cambio la visualización de block-none-block en pcodeLookupAddressEdit_risk_address, se corrige el formato.

No conozco la causa específica, pero es posible que desee comprobar el CSS y el comportamiento mostrar/ocultar en la diapositiva.

Cuestiones relacionadas