2017-03-11 2 views
3

i Code verfolgt habenKlick auf img mit Jquery arbeiten nicht auf mobilen

$('.radio-color').click(function() { 
          $('.radio-color').removeClass('selected'); 
          $(this).addClass('selected'); 
          var color = $(this).attr('value'); 
          //alert('<input type="hidden" name="color" value="'+color+'">'); 
          $('#product_color').val(color); 
          $('#h4_color').text('\u00A0' + color); 
          var id = $(this).attr('id'); 
          $('.flex-control-thumbs ').find("li:eq("+id+")").find('img').click(); 
         }); 

alles funktioniert gut auf dem PC, aber die letzte Anweisung nicht funktioniert auf dem Handy. Das ist:

Ich habe versucht mit touchstart, touchend etc Optionen, aber keiner hat für mich bisher funktioniert. Ich bin jetzt seit 3 ​​Tagen darauf fest. brauche sofortige Hilfe.

Dank im Voraus

+0

hast du eine li mit dieser id? – CaptainHere

+0

ja. Alles funktioniert gut. aber aus irgendeinem Grund wird nur die letzte Zeile nicht funktionieren. und diese Funktionalität funktioniert gut auf PC, wie ich erwähnt habe. also denke ich nicht, dass irgendetwas im Code falsch ist. und es gibt keine Fehler in der Konsole zu –

Antwort

0

Vielleicht so etwas wie diese versuchen?

var img = $('.flex-control-thumbs ').find("li:eq("+id+")").find('img'); 
$(img).trigger("click"); 
+0

danke voque, aber ich habe das auch versucht. es funktioniert nicht für mich –

0

Ist es IOS, mit dem Sie Probleme haben? Ich habe Probleme, Klicks in IOS selbst zu registrieren. Anscheinend erlauben sie das nicht. Es gibt irgendwo eine Stapelüberlaufantwort, die auf einen IBM Artikel verweist, der das erklärt.

Eine Sache, die Sie versuchen können, ist entfernen Sie die ".click()" mit etwas wie ".remove()", nur um sicherzustellen, dass das Element richtig ausgerichtet ist (vielleicht einige mobile Medien Abfrage verschiebt Dinge herum?)

Worst Case Szenario, können Sie Ihre Klick-Funktion replizieren, ohne tatsächlich auf das Element zu klicken?

Eine andere Sache, die Sie versuchen können: Irgendwo in Ihrem Code muss diesem Element eine Klickfunktion zugewiesen sein, richtig? Etwas wie:

$('.the-element').on('click', function(){}); 

Versuchen zu ersetzen, dass mit

$('.the-element').on('click newTrigger', function(){}); 

Dann im Code oben, ersetzen

$('.flex-control-thumbs ').find("li:eq("+id+")").find('img').click(); 

Mit

$('.flex-control-thumbs ').find("li:eq("+id+")").find('img').trigger('newTrigger'); 

Ich sehe auch das Hinzufügen cursor: pointer; in CSS wo Rks für einige Leute auf dem Element, das angeklickt werden soll.

+0

ich benutze Samsung Note 3 die img im versuchen, über jquery klicken kann angeklickt werden, wenn ich es auf dem mobilen Bildschirm berühren. aber ich möchte das img mit jquery auch klicken. Ich habe den Cursor: Zeiger bereits hinzugefügt. –

+0

Verstanden, aber ich denke, einige mobile Geräte verhindern diese Art von Funktionalität, so dass Sie möglicherweise nur die Funktion replizieren müssen, die das click -Ereignis tun würde, ohne tatsächlich zu klicken. –

+0

aber ich möchte, dass dies geschieht, wenn der Benutzer auf die Schaltfläche klickt. nicht anders. –

Verwandte Themen