Pregunta

La siguiente jQuery funciona bien en la mayoría de los navegadores de escritorio, pero falla en los navegadores de Android y iPhone:

$('#submit_event').live('click', function() {

    if ($("#event_name").attr("value") != "" && $("#event_details").attr("value") != ""){
        sendEvent($("#event_name").attr("value"), $("#event_details").attr("value"));
        $('#response_container').append("<div class='event_title'>"+$("#event_name").attr("value")+"</div><div class='event_details'>"+$("#event_details").attr("value")+"<div class='comment'>Comment</div><textarea class='comment_area'></textarea><div id='post_comment'>Post</div></div>");
    }
});

El #submit_event es solo la identificación de un div. Cuando se hace clic, ejecuta la función en los navegadores de escritorio, pero no en Android o iPhone.

Saludos,

Taylor

¿Fue útil?

Solución

Podrías probar un código más eficiente:

$('#submit_event').live('click', function() {

    var eName = $("#event_name").attr('value');
    var eDetails = $("#event_details").attr('value');

    if (eName && eDetails) {
        sendEvent(eName, eDetails);
        $('#response_container').append("<div class='event_title'>" +
            eName + 
            "</div><div class='event_details'>" +
            eDetails + 
            "..."
        );
    }
});

Otros consejos

Ok encontré mi respuesta,

Es solo un error en el safari móvil.

Todo lo que necesita hacer es agregar onClick = '' a cualquier elemento al que vincule la función en vivo y funcionará.

Sí. El evento Live no funcionará con elementos como TD. Funcionará con el elemento HTML como la etiqueta de anclaje, el botón, etc., por lo que si desea aplicar el evento de clics usando el evento .live de jQuery, primero debe agregar el atributo ondclick = "" usando el método jQuery .Attr en su elemento TD y luego aplicar. Evento en vivo para vincular el evento con su elemento TD. Para obtener más detalles, visite el blog a continuación

http://skillfulness.blogspot.com/2010/11/workaround-for-jquery-live-event.html

Si también está utilizando jQuery Mobile, es posible que desee probar

$('#submit_event').live('tap', function() {}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top