Есть такой код:

Выделить код

Код:

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="main" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
        <vbox flex="1">
                <spacer flex="1" />
                <button style="width: 200px" label="testButton" id="btn1" />
                <spacer flex="1" />
        </vbox>
</window>

Вопрос: как получить координаты button (в принципе, для любого элемента с подобным позиционированием)?

element. boxObject. screenX, element. boxObject. screenY - абсолютные экранные координаты,
element. boxObject. x, element. boxObject. y - координаты относительно клиентской области окна

Эти координаты вычисляются для случая, когда flex=0
(то есть, даже если flex=1, то выводится будто бы он равен 0).
В моем случае

Выделить код

Код:

...
<vbox flex="1">
    <spacer flex="1" id="sp1" />
    <button id="btn1" label="test" onclick="alert (this.boxObject.screenX)" />
    <spacer flex="1" />
</vbox>
...

будет выведено число 5 (px), несмотря на то, что кнопка находиться по-центру экрана.

будет выведено число 5 (px), несмотря на то, что кнопка находиться по-центру экрана.

Это экранная координата верхнего левого угла прямоугольника кнопки. Если свернуть окно и переместить куда-нибудь по экрану, будет другое значение.

О! ну я и фтупил (думаю о Y, пишу в коде X) =)
Конец дня рабочего, ништяг все. Действительно координаты те, что надо.
Спасибо.