2016-09-26 4 views
0

Ich möchte diesen Teil des Codes auf meiner HTML-Seite verwenden, es funktioniert gut, aber ich verstehe nicht, wie Sie meinen Fehler auf dem Validator korrigieren. Ich habe die Funktion in eine div eingegeben, aber in a haben wir den gleichen Fehler. Hier ist der Link der stackoverflow question.ontouchend Attribut hat Validierungsfehler aber funktioniert gut

Dies ist der Validator Fehler:

Error: Attribute ontouchend not allowed on element div at this point.

Hier ist die CSS-Code:

:hover { 
    background: red; 
} 

Im JS Ich habe:

function fix() { 
    var el = this; 
    var par = el.parentNode; 
    var next = el.nextSibling; 
    par.removeChild(el); 
    setTimeout(function() { 
     par.insertBefore(el, next); 
    }, 0); 
} 

Und dann in meinem HTML Ich habe :

<a href="#" ontouchend="this.onclick=fix">test</a> 
+0

Dieser Teil scheint mir fischig zu sein: 'this.onclick = fix' Was willst du hier erreichen? – jmargolisvt

+0

Ich habe ein Problem mit dem Hover auf iPhone, iPad, ... wenn ich auf einen Link klicke, bleibt der CSS-Hover aktiv, mit dieser Funktion kann ich das CSS entfernen, wenn ich den Bildschirm berühre – coolio83000

Antwort

0

Das Attribut ontouchend ist nicht standardisiert. Es wird sogar nicht allgemein unterstützt. Dies bedeutet, dass Sie es in einigen Browsern verwenden können, aber Validatoren werden Warnungen auslösen.

Sie können es einfach ignorieren, wenn es für Sie arbeitet. Aber das bedeutet nicht, dass sich dieses Attributverhalten in Zukunft nicht ändern wird.

Zitate:

This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for the proper prefixes to use in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the spec changes.


Note: This attribute has not been formally standardized. It is specified in the Touch Events – Level 2 Editor's Draft specification and not in Touch Events Recommendation. This attribute is not widely implemented.

mehr über das Attribut Lesen Sie in den MDN docs here und here.

+0

ahh ok ich verstehe jetzt, gibt es eine sichere Möglichkeit, das gleiche Ergebnis zu erzielen? – coolio83000

+0

Hmm, ich kenne eigentlich keinen. Vielleicht eine JS-Bibliothek oder so etwas. Tatsächlich sind Berührungsereignisse jedoch nicht standardisiert, dh es gibt keinen * Standardweg *. Es tut mir Leid. @ coolio83000 – eisbehr

+0

Ja, ich dachte, es war eine einfache Frage, aber ich denke, dass ich 2 Stunden brauche, um einen Weg zu finden, also muss ich die CSS auf Touchscreen aktiv lassen !! keine Möglichkeit, es jetzt zu beheben !! Danke für deine Hilfe @eisbehr – coolio83000

Verwandte Themen