JavaScript: Есть ли изменение геометрии элемента? - PullRequest
0 голосов
/ 28 июля 2010

Существует событие изменения размера DOM, даже для общих элементов, но я не могу найти событие, которое вызывается, когда позиция элемента изменилась.Я хотел бы иметь событие, которое запускается всякий раз, когда геометрия элемента изменяется.Это может быть специфично для Mozilla, потому что я пишу дополнение Firefox.

Редактировать: Или есть способ прикрепить элемент к другому, который всегда работает, независимо от того, какие сумасшедшие таблицы стилейможет быть использован (так что один всегда поверх другого)?

Ответы [ 2 ]

1 голос
/ 10 апреля 2011

Изменить: Или есть способ прикрепить элемент к другому, который всегда работает, независимо от того, какие сумасшедшие таблицы стилей могут быть использованы (так что один всегда поверх другого)?

Вы можете установить набор !important правил, которые имеют приоритет (если кто-то еще не использует !important, что редко):

.pinned {
    position : absolute !important;
    top      : 0px      !important;
    right    : 0px      !important;
    bottom   : 0px      !important;
    left     : 0px      !important;
}
0 голосов
/ 28 июля 2010

DOMSubTreeModified - самая близкая вещь, которая не связана с Mozilla, и я не знаю (или подозреваю), что она запускается при изменении геометрии.Возможно, вы сможете использовать DOMAttrModified и проверить, какие атрибуты будут изменены, и отослать об этом, если вы знаете, какие атрибуты будут меняться, и при условии, что вы можете получить с ним атрибуты CSS.Я не думаю, что вы можете, но я не уверен.

https://developer.mozilla.org/en/Gecko-Specific_DOM_Events перечисляет событие MozAfterPaint, которое должно иметь возможность делать то, что вы хотите.Я думаю.

Удачи.

Редактировать: Подожди, зачем тебе это делать "независимо от того, какие сумасшедшие таблицы стилей могут быть использованы"?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...