Domanda

Il seguente jQuery funziona bene nella maggior parte dei browser desktop, ma fallisce sui browser Android e 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>");
    }
});

#Submit_event è solo l'ID per un div. Se si fa clic, esegue la funzione sui browser desktop, ma non su Android o iPhone.

Saluti,

Taylor

È stato utile?

Soluzione

Potresti provare un codice più efficiente:

$('#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 + 
            "..."
        );
    }
});

Altri suggerimenti

Ok ho trovato la mia risposta,

È solo un bug in Safari mobile.

Tutto quello che devi fare è aggiungere onClick = '' a qualsiasi elemento a cui si lega la funzione live e funzionerà.

Sì. Evento non funzionerà con elementi come TD. Funzionerà con l'elemento HTML come tag di ancoraggio, pulsante ecc. Quindi se si desidera applicare clicca evento usando .live evento di jQuery è necessario prima aggiungere onClick = "" Attributo utilizzando il metodo jQuery .attr sull'elemento TD e quindi applicare. Evento in diretta per legare l'evento con il tuo elemento TD. Per maggiori dettagli, visitare il blog di seguito

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

Se stai usando anche JQuery Mobile, potresti provare

$('#submit_event').live('tap', function() {}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top