Прежде чем задать свой вопрос, вот код ошибки:
var coords = dojo.coords(g);
g.style.left = coords.x + "px";
g.style.top = coords.y + "px";
g.style.position = "absolute";
Теперь представьте, что g
- это относительно позиционированный элемент с позицией x
, равной 70, и позицией y
, равной 30. Если я закомментирую последнюю строку кода выше, это то, что dojo.coords(g)
дает мне , Но как только я добавлю последнюю строку, dojo.coords(g)
вернет позицию x
, равную 18, и это именно то место, где был бы элемент, если бы он был абсолютно позиционирован. Мне кажется, что на вызов dojo.coords()
не должен влиять код под ним, но это так.
Я также вижу ту же проблему с dojo.require()
, когда, если я вызываю ее непосредственно перед вызовом функции, которую она загружает, я получаю неопределенную ошибку для этой данной функции.
Я тестирую в Firefox 3, но я также замечаю похожие проблемы в Safari 3. Есть идеи?