Как заставить ресайзеры обновлять позицию элемента в XUL? - PullRequest
0 голосов
/ 14 апреля 2011

У меня есть следующий код, где кнопка имеет четыре изменяющих размер.Например, когда я использую верхний левый изменяющий размер, кнопка сжимается справа внизу, а не сжимается и перемещается так, чтобы левый верхний угол следовал за курсором.Я просмотрел документы Mozilla и Google и попытался добавить пользовательские обработчики событий mousedown, чтобы изменить ситуацию, но безрезультатно.Как мне заставить это вести себя правильно?

<?xml version="1.0"?>

<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>

<window id="main" title="My App" width="300" height="300" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

  <script type="application/javascript" src="chrome://ades/content/main.js"/>
    <hbox>
      <stack style="padding: 0;">
        <button id="b" label="Resizable" style="margin: 0;"/>
        <resizer dir="topleft" style="background: red; -moz-appearance: none;"
                 element="b" left="0" top="0" width="5" height="5" />
        <resizer dir="topright" style="background: black; -moz-appearance: none;"
                 element="b" right="0" top="0" width="5" height="5"/>
        <resizer dir="bottomleft" style="background: black; -moz-appearance: none;"
                 element="b" left="0" bottom="0" width="5" height="5"/>
        <resizer dir="bottomright" style="background: black; -moz-appearance: none;"
                 element="b" right="0" bottom="0" width="5" height="5"/>
      </stack>
    </hbox>
</window>

1 Ответ

0 голосов
/ 14 апреля 2011

Я не уверен, как добиться того, чего вы хотите, но если вы изменяете размер своей кнопки, она всегда будет перемещаться в стек (который находится в начале hbox), поэтому она всегда будет в началеHbox.Вы можете попробовать с абсолютным позиционированием, но я не уверен, что это сработает.

...