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

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№117-12-2007 01:05:33

Codeblight
Участник
 
Группа: Members
Зарегистрирован: 03-03-2007
Сообщений: 58
UA: Opera 9.2

Как убрать не мой тултип?

Приветствую всех собравшихся )

Проблема у меня такая - генерирую меню по хмл динамический и вешаю на кнопку (type="menu-button"). Все бы ничего, но у элементов не содержащих tooltiptext показывается предыдущий всплывавший тултип. Если ничего не всплывало - показывается маленький прямоугольничек. Атрибуты tooltiptext или tooltip я не добавлял, по DOM Inspector их тоже нет, но тултип всплывает. Пытался заглушить его создавая пустой тултип и вешая на tooltip - всплывают вдвоем ;) Подскажите кто-нибудь как справиться с тултипом ?

Отсутствует

 

№217-12-2007 04:08:48

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 2.0

Re: Как убрать не мой тултип?

Это такое наследование... Т.е., наличие атрибута 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 не показывается.

Отредактировано Infocatcher (17-12-2007 04:10:54)


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№317-12-2007 12:43:31

Codeblight
Участник
 
Группа: Members
Зарегистрирован: 03-03-2007
Сообщений: 58
UA: Opera 9.2

Re: Как убрать не мой тултип?

т.е. тултип надо отдельно создать и таким образом показывать, а с обычным tooltiptext ничего сделать нельзя ?

Отсутствует

 

№426-12-2007 17:20:01

XuTMAH
Участник
 
Группа: Members
Зарегистрирован: 23-05-2007
Сообщений: 32
UA: Firefox 2.0

Re: Как убрать не мой тултип?

В твоём случае нужен только onmousemove, но oncommand и onclick тоже лучше поставить чтобы исключить подобные проблемы.
А вообще смотри http://www.w3.org/TR/DOM-Level-3-Events/events.html#Events-flow

Выделить код

Код:

<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>

Отсутствует

 

Board footer

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