Acabo de hacer esta pregunta hace una hora pero con respecto a IE8 y yo me dijeron que los controladores de JQuery Live no admiten "cambio", así que cambié a "clic", esto resolvió mi problema y ahora encuentro que Safari no funciona con clic por alguna extraña razón, ¿alguien sabe por qué?

Entonces pensé, ¿puedo tener ambos?

$('select.htt, select.hst').live('click', function() {
    var channels = parseInt($('#fancy_div select.hst').val(), 10) * parseInt($('#fancy_div select.htt').val(), 10);         
    $('#fancy_div span.yellow2').html(channels + ' Channels');
});

Y cambiar (que funciona en safari)

$('select.htt, select.hst').live('change', function() {
    var channels = parseInt($('#fancy_div select.hst').val(), 10) * parseInt($('#fancy_div select.htt').val(), 10);         
    $('#fancy_div span.yellow2').html(channels + ' Channels');
});

¿O hay algo más elegante?

EDITAR

Tal vez pueda hacer un condicional. if ($.browser.msie Pero, ¿cómo haría esto con lo anterior? Lo anterior también está en un $(document).ready(function()

2
Abs 26 oct. 2009 a las 17:28

4 respuestas

La mejor respuesta

Prueba esto:

$('select.htt, select.hst').live($.browser.msie?'click':'change', function() { ....
4
Elijah Lynn 5 dic. 2013 a las 20:47

Lectura de la lista de errores (http://bugs.jquery.com/ticket/5677) agregando lo siguiente CSS para el elemento también es una solución:

<style>
  element {
      cursor : pointer;
  }
</style>

Funciona en iphone4 con safari

Referencia

0
DarkBee 17 jul. 2014 a las 09:57

El evento de cambio no debería aparecer en CUALQUIER navegador.

Simplemente haría que su código vuelva a vincular el controlador de cambios cada vez que se agregue el menú al DOM, o tal vez incluso agregue un atributo onchange a la selección si es generado por un script de servidor.

1
jarcoal 28 oct. 2009 a las 05:36

Parece que te encuentras con una combinación de problemas aquí:

  1. El evento change no burbujea en IE, mientras que el {{X1 }} evento hace
  2. El evento click sí no disparar / buuble en elementos <select> / <option> en Safari, mientras que el evento change

Sin embargo, no estoy segura del mejor camino a seguir para tu situación.

3
Community 23 may. 2017 a las 10:27