В конце концов я создал div в моем DOM для хранения моего меню. Сначала я был осторожен, потому что мой макет не очень надежен (мы привлекли к работе графического дизайнера и пытались интегрировать его работу с нашим кодом); вот почему я не хотел вводить div в DOM.
Ключом для меня было включение div в такое место, где это не повлияет на макет. Изначально у меня было что-то похожее на это:
<input> type="button" id="srchType" />
<input type="text" id="first-name" value="First Name" />
<input type="submit" id="profiles-search-submit" value="Search" />
Я вставил div между двумя входами; это испортило мой макет. Ключ должен был вставить div до или после; это не испортило бы мой макет. YMMV, в зависимости от того, насколько чувствительна ваша DOM к изменениям; Надеюсь, это поможет кому-то, если ему интересно, что ему делать.
После того, как вы это сделаете (создайте свой div), вы можете создать объект YUI Menu следующим образом:
var searchMenuItems =
[{ text: "First Name", value: 'firstName', onclick: {fn: onMenuItemClick}},
{ text: "Last Name", value: 'lastName', onclick: {fn: onMenuItemClick}}];
var srchTypeMenuConfig = { shadow: false,
effect: {
effect: YAHOO.widget.ContainerEffect.FADE,
duration: .25
}
};
this.srchTypeMenu = new YAHOO.widget.Menu(this.searchMenuEl,
srchTypeMenuConfig);