2013-01-05 9 views
5

Per favore perdonatemi in anticipo per essere un noob docile.IE10 non sta gestendo Fare clic su Eventi | Aiuto Utilizzo di MSPointer

In ogni caso, sto cercando di rendere il mio gioco html5 su IE10, ma non rileva i miei clic.

Così ho Research questo un po 'e scoprire che, invece di capire che cosa questo significa:

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

Se è necessario utilizzare un po' di codice proprietario scadente. Dato che sono un noob docile, sto riscontrando problemi con l'implementazione di questo .

Ecco quello che ho attualmente

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); 
    } 

Quando eseguo il codice sul IE10, ancora non registra i miei clic del mouse. Mi manca qualcosa o faccio qualcosa in modo errato?

Per favore aiutatemi.

+0

Hai un collegamento a una demo? IE supporta gli eventi click, quindi non è necessario MSPointerDown. –

risposta

8

Beh, non so perché non funzionava. Ancora non funziona.

Ma ho trovato una soluzione che pensavo di condividere. Ho aggiunto i seguenti attributi ai CSS dei DIV di destinazione.

background-color:#FFFFFF; opacity:0;

Per qualche ragione, se mi danno la DIVS un colore di sfondo e renderli totalmente trasparente, i clic registrati.

Quindi, ho finito di preoccuparmi di questo problema per ora.

Spero che questo aiuti qualcuno.

+3

WOW! Questo è il suggerimento più assolutamente ridicolo che abbia mai sentito. Eppure, ha funzionato, e mi ha appena salvato (ancora di più) ore di tentativi di capire perché i miei elementi dell'interfaccia utente JQuery non erano trascinabili in IE9 e 10. Fantastico. Mille grazie per aver condiviso !!! –

+6

@ Donzo- Mi sono imbattuto anche in questo. Nota che l'impostazione di opacità: 0 renderà * tutto nel tuo div trasparente *! Prob non è quello che vuoi. Invece, imposta la trasparenza * entro * il colore dello sfondo in questo modo: 'background-color: rgba (255,255,255,0);'. Vedi [qui] (http://www.css3.info/introduction-opacity-rgba/) per ulteriori informazioni. – Yarin

3

Su ciascuno di questi elementi, aggiungere lo stile css -ms-touch-action: none;

IE10 sembra aspettarsi che su elementi si desidera che i eventi del puntatore di interagire con, in modo che non cerca di mantenere un comportamento browser predefinito.