2016-03-23 11 views
0

Ich habe dieses Javascript auf meiner Seite mit Jquery geklickt:ändern CSS von Link, wenn sie mit Safari auf ios

$("a").on("click", aClicked); 

function aClicked(e) 
{ 
    $(this).addClass("clicked"); 
    // e.preventDefault(); 
    return true; 
} 

Die CSS für Klasse „geklickt“ ändert sich die Hintergrundfarbe für diesen Link.

Es funktioniert gut auf mobilen Geräten mit Android/Chrome-Browser. Die Farbe wird geändert, die Verknüpfung wird verfolgt.

Es funktioniert nicht auf iOS mit Safari oder WKWebView. Es funktioniert mit UIWebView. Mein derzeitiges Gerät ist iphone6 ​​+/ios9.3.

Wenn ich // e.preventDefault(); auskommentieren funktioniert es, aber die Verknüpfung wird natürlich nicht befolgt. Für mich scheint es also, dass Safari zu clever ist und die Seite nicht rendert, wenn sie dem Link trotzdem folgt?

Ich möchte keine Lösungen in Bezug auf Tap-Highlight-Farbe oder: aktiv oder: Hover Pseudoklasse aus bestimmten Gründen.

Wie kann ich es beheben? Oder habe ich etwas anderes vermisst?

Antwort

0

Versuchen Sie, diese Arbeit um ... Fügen Sie einen Cursor Zeiger auf das Element $('a').css('cursor','pointer'); oder auf Fokus versuchen statt auf Click-Ereignis

+0

Beide Lösungen funktionierten nicht für mich. "Fokus" wird entfernt, sobald Sie aufhören, den Bildschirm zu berühren. Aber danke für deine Antwort. Es hat mir immer noch bei meinen Untersuchungen zu diesem Problem geholfen – Janning

1

ich es auf „tippen“ anstelle von „Klick“ zusammen mit jQuery Mobile und hat funktioniert.

$("a").on("tap", aClicked); 
Verwandte Themen