Question

La jquery suivante fonctionne correctement dans la plupart des navigateurs de bureau, mais échoue sur les navigateurs Android et 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>");
    }
});

Le #submit_event est juste l'ID d'un div.Lorsqu'on clique dessus, il exécute la fonction sur les navigateurs de bureau, mais pas sur Android ou iPhone.

salutations,

taylor

Était-ce utile?

La solution

Vous pouvez essayer un code plus efficace:

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

Autres conseils

Ok, j'ai trouvé ma réponse,

C'est juste un bug dans le safari mobile.

Tout ce que vous avez à faire est d'ajouter onclick= '' à tout élément auquel vous liez la fonction live et cela fonctionnera.

Oui, l'événement .live ne fonctionnera pas avec un élément comme td.Cela fonctionnera avec un élément html comme une balise d'ancrage, un bouton, etc. Donc, si vous voulez appliquer un événement click en utilisant l'événement .live de jQuery, vous devez d'abord ajouter l'attribut onclick="" en utilisant la méthode jquery .attr sur votre élément td, puis l'appliquer.live event pour lier l'événement avec votre élément td.Pour plus de détails, veuillez visiter le blog ci-dessous

http://skillfulness.blogspot.com/2010/11 / contournement-pour-jquery-live-event.html

Si vous utilisez également jquery mobile, vous voudrez peut-être essayer

$('#submit_event').live('tap', function() {}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top