>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Как убрать не мой тултип? http://forum.mozilla-russia.org/viewtopic.php?id=20637 |
Codeblight > 17-12-2007 01:05:33 |
Приветствую всех собравшихся ) Проблема у меня такая - генерирую меню по хмл динамический и вешаю на кнопку (type="menu-button"). Все бы ничего, но у элементов не содержащих tooltiptext показывается предыдущий всплывавший тултип. Если ничего не всплывало - показывается маленький прямоугольничек. Атрибуты tooltiptext или tooltip я не добавлял, по DOM Inspector их тоже нет, но тултип всплывает. Пытался заглушить его создавая пустой тултип и вешая на tooltip - всплывают вдвоем Подскажите кто-нибудь как справиться с тултипом ? |
Infocatcher > 17-12-2007 04:08:48 |
Это такое наследование... Т.е., наличие атрибута tooltiptext у родительского элемента приводит к тому, что что-то пытается всплыть на дочерних. В свое время додумался до только одного решения (можно, конечно, еще задать всем по tooltiptext'у): Выделить код Код:<menu tooltip="tooltipId" mytooltip="Some Text"> <menupopup> <menuiten /> ... <tooltip id="tooltipId" onpopupshowing="return showTT(this.firstChild);"> <label /> </tooltip> var showTT = function(lbl) { var val = document.tooltipNode.getAttribute("mytooltip"); lbl.value = val; return !!val; }; Если атрибута mytooltip нет, происходит return false, и tooltip не показывается. |
Codeblight > 17-12-2007 12:43:31 |
т.е. тултип надо отдельно создать и таким образом показывать, а с обычным tooltiptext ничего сделать нельзя ? |
XuTMAH > 26-12-2007 17:20:01 |
В твоём случае нужен только onmousemove, но oncommand и onclick тоже лучше поставить чтобы исключить подобные проблемы. Выделить код Код:<toolbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <toolbar> <toolbarbutton label="Button" type="menu-button" tooltiptext="Only on button"> <menupopup oncommand="event.stopPropagation();" onclick="event.stopPropagation();" onmousemove="event.stopPropagation();"> <menuitem label="1" /> <menuitem label="2" /> <menuitem label="3" /> </menupopup> </toolbarbutton> </toolbar> </toolbox> |