http://xurl.es/kwrp1
Resulta que tengo una plantilla html/css con botones que cambian de color con :hover
Lo curioso es que cuando ese mismo botón se muestra a través de una consulta ajax no ya no cambia de color, si que conserva los estilos (tamaño, color...) pero el color de :hover deja de hacerlo.
Para poder ver el error basta con clicar sobre el botón de radio etiquetado cono "Si" y se mostrará un botón que no cambia de color.
El probelma real por lo que veo con firebug es que al cargarse dinámicamente el botón con el texto "Mostrar empresas Funciona mal" este no llama a la función
function artButtonSetup(className)
que es la que hace que el boton cambie de color (bueno realmente lo que hace es cambia de posicion una imagen).
Pongo el código de la función que por algún motivo no es llamada cuando el botón se mustra tras una consulta ajax.
Código HTML:
/* begin Button */ function artButtonSetup(className) { jQuery.each(jQuery("a." + className + ", button." + className + ", input." + className), function (i, val) { var b = jQuery(val); if (!b.parent().hasClass('dpw-button-wrapper')) { if (b.is('input')) b.val(b.val().replace(/^\s*/, '')).css('zoom', '1'); if (!b.hasClass('dpw-button')) b.addClass('dpw-button'); jQuery("<span class='dpw-button-wrapper'><span class='dpw-button-l'> </span><span class='dpw-button-r'> </span></span>").insertBefore(b).append(b); if (b.hasClass('active')) b.parent().addClass('active'); } b.mouseover(function () { jQuery(this).parent().addClass("hover"); }); b.mouseout(function () { var b = jQuery(this); b.parent().removeClass("hover"); if (!b.hasClass('active')) b.parent().removeClass('active'); }); b.mousedown(function () { var b = jQuery(this); b.parent().removeClass("hover"); if (!b.hasClass('active')) b.parent().addClass('active'); }); b.mouseup(function () { var b = jQuery(this); if (!b.hasClass('active')) b.parent().removeClass('active'); }); }); } jQuery(function() { artButtonSetup("dpw-button"); }); /* end Button */
Gracias