Ok Ich fühle mich wie verrückt ...Warum/wann muss ich zweimal tippen, um auf iOS zu klicken
Ich bin auf Mobile Safari auf iOS 6.0. Ich kann keinen Reim oder Grund dafür feststellen, dass beim Klicken auf ein Element ein Klick ausgelöst wird. In vielen Fällen scheint es, dass ich einmal tippen muss, um einen Hover auszulösen und dann einen Klick auszulösen.
Die Mobile Safari spec heißt es:“... Die Strömung der durch einen Finger und zwei Fingergesten erzeugen Ereignisse bedingte ist abhängig davon, ob oder nicht das ausgewählte Element ist anklickbare oder rollbaren ... A klickbaren Element eine Verbindung ist, Formularelement, Bildkartenbereich oder jedes andere Element mit Mauszeiger, Mauszeiger, Mauszeiger oder Onclick-Handler ... Aufgrund dieser Unterschiede müssen Sie möglicherweise einige Ihrer Elemente in anklickbare Elemente ändern ... "
fährt fort und schlägt vor, dass der Entwickler "... einen Dummy onclick-Handler, onclick =" void (0) "hinzufügt, so dass Safari auf iOS das span-Element als anklickbares Element erkennt."
Meine Tests haben jedoch gezeigt, dass diese Aussagen falsch sind.
JsFiddle: http://jsfiddle.net/6Ymcy/1/
html
<div id="plain-div" onclick="void(0)">Plain Div</div>
js
document.getElementById('plain-div').addEventListener('click', function() {
alert('click');
});
auf einem iPad, das Element Versuchen Sie tippen. Nichts passiert
Aber ich schweife ab. Was mir wichtig ist, ist die folgende Frage herauszufinden:
Welche Kriterien bestimmen genau, wenn beim Klicken auf ein Element ein "Klick" -Ereignis beim ersten Antippen ausgelöst wird? Im Gegensatz zum Auslösen eines "Hover" -Ereignisses beim ersten Tippen und eines "Klick" -Ereignisses beim zweiten Tippen.
In meinen Tests sind Ankerelemente die einzigen Elemente, die ich beim ersten Tippen mit einem Klick auslösen kann, und das nur gelegentlich und inkonsistent.
Hier fängt ich an, mich verrückt zu fühlen. Ich habe das Internet weit und breit gesucht und so gut wie nichts zu diesem Thema gefunden. Ist es nur ich ?! Weiß jemand, wo es Diskussionen über die Kriterien für zwei Ansätze und einen Ansatz zum Umgang mit diesen Einschränkungen gab?
Ich freue mich auf Fragen/Wünsche zu beantworten.
Danke!
Ja, der onclick Vorschlag von Apple funktioniert immer noch nicht (iOS Emulator) :-( –