2013-01-05 11 views
5

Bitte verzeihen Sie mir im Voraus für eine stoopid noob.IE10 wird nicht behandelt Klicken Sie auf Ereignisse | Hilfe mit MSPointer

Wie auch immer, ich versuche, mein HTML5-Spiel auf IE10, zu spielen, aber es erkennt meine Klicks nicht.

So erforschen ich diese ein wenig und finden heraus, dass statt zu verstehen, was das bedeutet:

document.getElementById("answer1").addEventListener("click", wrong, false);

Wenn einige crappy proprietären Code verwenden. Da ich ein stoopid noob bin, habe ich Probleme dies zu implementieren. Hier

ist, was ich habe zur Zeit

document.getElementById("answer1").addEventListener("click", wrong, false); 
    document.getElementById("answer2").addEventListener("click", wrong, false); 
    document.getElementById("answer3").addEventListener("click", wrong, false); 
    document.getElementById("answer4").addEventListener("click", wrong, false); 
    //Stupid IE10 Crap 
    if (window.navigator.msPointerEnabled) { 
     document.getElementById("answer1").addEventListener("MSPointerDown", wrong, false); 
     document.getElementById("answer2").addEventListener("MSPointerDown", wrong, false); 
     document.getElementById("answer3").addEventListener("MSPointerDown", wrong, false); 
     document.getElementById("answer4").addEventListener("MSPointerDown", wrong, false); 
    } 

Wenn ich den Code auf IE10 laufen, es immer noch nicht meine Mausklicks registrieren. Fehle ich etwas oder mache ich etwas falsch?

Bitte assistieren Sie mir.

+0

Haben Sie einen Link zu einer Demo? IE unterstützt Klickereignisse, weshalb Sie MSPointerDown nicht benötigen sollten. –

Antwort

8

Nun, ich weiß nicht warum es nicht funktionierte. Es funktioniert immer noch nicht.

Aber ich fand eine Abhilfe, die ich dachte, ich würde teilen. Ich habe die folgenden Attribute zu CSS der Ziel-DIVs hinzugefügt.

background-color:#FFFFFF; opacity:0;

Aus irgendeinem Grund, wenn ich die DIVS eine Hintergrundfarbe geben und sie völlig transparent machen, die Klicks registrieren.

Also, ich bin jetzt über dieses Problem fertig zu kümmern.

Ich hoffe, das hilft jemandem.

+3

WOW! Das ist der absolut lächerlichste Vorschlag, den ich gehört habe. Aber es hat funktioniert, und es hat mich nur (noch) mehr Stunden beim Versuch, herauszufinden, warum meine JQuery-UI-Elemente in IE9 & 10 nicht gezogen werden konnten, gerettet. Vielen Dank für das Teilen !!! –

+6

@ Donzo- Ich bin auch reingerannt. Beachten Sie jedoch, dass die Einstellung "opacity: 0" * alles in Ihrem div transparent macht *! Prob nicht was du willst. Setzen Sie stattdessen die Transparenz * innerhalb * der Hintergrundfarbe: 'background-color: rgba (255,255,255,0);'. Siehe [hier] (http://www.css3.info/introduction-opacity-rgba/) für mehr. – Yarin

3

Auf jedem dieser Elemente, die CSS-Stil -ms-touch-action: none;

IE10, dass Sie die mit Pointer Ereignisse, interagieren wollen auf Elemente zu erwarten scheint hinzufügen, so dass es nicht Standard-Browser Verhalten nicht versuchen zu halten.