Полезная информация

Общайтесь со знакомыми и друзьями в нашем сообществе в Facebook.

Разработка » Как отловить событие переноса кнопки на панель » 08-09-2010 10:28:34

Shutnik пишет

а что мешает по указанному выше обработчику попытаться обратиться к нужным кнопкам по id (проверка не убрали ли кнопку) или проверить их parentNode (проверить не перенесли ли их на другую панель)?

Да, именно так я в итоге и сделал. Получается, при каждом событии dragdrop проверяется моя кнопка, есть она или нету. Так что я храню в переменной предыдущее состояние кнопки. Ну да, в целом, рабочее решение, хотя несколько смущает ощущение нериациональности.

Я думал, можно каким-то образом достучаться до глобальной переменной gCurrentDragOverItem из CustomizeToolbar.xul где хранится объект который переносится.

Разработка » Как отловить событие переноса кнопки на панель » 27-08-2010 15:20:40

Так, ну я могу поймать 'dragdrop' на toolbox:

Выделить код

Код:

document.getElementById('navigator-toolbox').addEventListener('dragdrop', function(event) {
    if( document.getElementById('my-toolbaritem') ) {
         // here some element (maybe, mine) was moved on a toolbar.
    }
}, false);

Но событие срабатывает каждый раз, когда что-то переносят на тулбокс, и при этом мой элемент оказывается на панели (либо перенесли его, либо он уже был там). Это не очень красиво, но работает. Может, можно определить, какой именно элемент переносят?
В customizeToolbar.js я нашел переменную gCurrentDragOverItem, она, вроде как, указывает на элемент, который переносят. Можно ли получить эту переменную из главного окна и сравнить с моим элементом?

Разработка » Как отловить событие переноса кнопки на панель » 26-08-2010 17:48:15

Здравствуйте!

Есть расширение для firefox, и в нем есть панель. На панели несколько разных элементов (кнопочки toolbarbutton, a также toolbaritem с textbox внутри)
Элементы находятся внутри  <toolbarpalette id="BrowserToolbarPalette">, а на мою панель попадают, так как прописаны в аттрибуте defaultset.

Вопрос:
Как отловить событие, когда юзер настраивает панели и переносит мои кнопки на другие панели или вовсе убирает?

(Путем экспериментов было замечено, что если у кнопки есть картинка, то проходит событие onload повешенное на toolbarbutton. Но если, например, в диалоге настройки кнопочек указать фаерфоксу чтоб показывал только надписи, это событие не будет проходить)

Разработка » Возможно ли задать position:absolute для XUL-элементов как в HTML? » 18-08-2010 16:28:43

Используйте <panel noautohide="true">
Показывать ее надо с помощью openPopup.

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]