我有一个 DOM 元素(在某些情况下是几个),我想在设备移动时移动(通过更改 css)。
现在,我想知道为什么这不起作用:
var aDOMElement = document.getElementById("someId");
aDOMElement.DeviceMotionEvent = window.DeviceMotionEvent;
aDOMElement.addEventListener('devicemotion', motionHandler, false);
我考虑了一种解决方法来处理window
对象,并在回调中处理存储在数组中的所有对象的移动。
有点像这样:
function motionHandler(event) {
for (var obj in objectList) {
obj.move(event);
}
}
但是,由于某些奇怪的原因,move
我在将对象存储到列表之前分配给它的函数是undefined
. 欢迎对此进行解释和/或解决方案。
编辑:
以下是我创建对象并将其添加到数组的方法:
var objectList = [];
var elem = document.createElement("div");
//add some properties
elem.id = "someId";
elem.move = specificMoveFunction;
//add it to the list
objectList[elem.id] = elem;