2017-01-21 3 views
1

Ich entwickle eine Anwendung, die auf IE 9 und höher kompatibel sein muss. Ich verwende die Eigenschaft "moveX" für ein MouseEvent-Objekt, jedoch hat dieses MouseEvent-Objekt in Internet Explorer (9 oder 11) nicht die Eigenschaft "moveX".MouseEvent moveX-Eigenschaft wird anscheinend nicht im Internet Explorer unterstützt

Ich durchlief Microsofts Dokumentation und tatsächlich behaupten sie, diese Eigenschaft auf ihren MouseEvent-Objekten zu unterstützen. Ich habe überprüft, dass es sich tatsächlich um ein MouseEvent-Objekt handelt, und es hat einfach nicht die Eigenschaft. Alle anderen Eigenschaften scheinen außer dieser verfügbar zu sein.

Hat jemand Erfahrung mit diesem Problem? Das Internet insgesamt sieht in diesem Fall ziemlich still aus.

+0

siehe http://www.bing.com/search?q=mouseevent+movementx ... vielleicht haben Sie MSN als MSDN falsch gelesen? Wenn Sie MouseEvent.prototype in der Dev-Tool-Konsole eingeben, werden seine Mitglieder aufgelistet. –

+0

Entschuldigung ... dieser MSDN Ref: https://msdn.microsoft.com/en-us/library/ff974344(v=vs.85).aspx sagt Gibt den Unterschied in der horizontalen Position (in screenX-Einheiten) seit dem letzten zurück mousemove (oder pointermove) -Ereignis. –

+0

Haben Sie dieses Problem jemals gelöst? Ich habe das gleiche Problem. Es scheint BewegungX und BewegungY auf MouseEvent in IE11 gerade auf und verschwunden. Ich habe mein Projekt wieder auf eine Version zurückgesetzt, von der ich weiß, dass sie in IE11 mit diesen Eigenschaften funktioniert hat, und selbst das funktioniert nicht mehr. –

Antwort

1

Sie müssen das Verhalten replizieren, indem Sie das Delta zwischen den folgenden Werten screenX und screenY nehmen.

// Store previous screenX/screenY somewhere outside of callback 
var prevX = 0; 
var prevY = 0; 

// Callback whenever the mouse moves 
function mousemove(e) { 
    var movementX = (prevX ? e.screenX - prevX : 0) 
    var movementY = (prevY ? e.screenY - prevY : 0) 

    prevX = e.screenX; 
    prevY = e.screenY; 
} 

Beachten Sie, dass, wenn Sie mousemove hören heraus zu sagen, Figur, wenn etwas gezogen wird, Sie prevX und prevY auf 0 auf mouseup oder sonst werden Sie die alten Bildschirm Werte erhalten zurückgesetzt sollte!

Verwandte Themen