最終的に、メニューを保持するためにDOMにdivを作成しました。私のレイアウトはあまり堅牢ではないため、最初は警戒していました(グラフィックデザイナーにアウトソーシングし、彼の作業をコードと統合しようとしていました)。これが、私がDOMにdivを導入したくない理由です。
私にとっての鍵は、レイアウトに影響を与えない場所にdivを含めることでした。もともと私はこのようなものを持っていました:
<input> type="button" id="srchType" />
<input type="text" id="first-name" value="First Name" />
<input type="submit" id="profiles-search-submit" value="Search" />
2つの入力の間にdivを挿入しました。これは私のレイアウトを台無しにしました。重要なのは、divを前後に挿入することでした。これは私のレイアウトを台無しにすることはありません。YMMV、DOMが変更にどの程度敏感かによって異なります。彼らが何をすべきか疑問に思っているなら、これが誰かを助けることを願っています。
これを行った後(divを作成)、次のようにYUIMenuオブジェクトを作成できます。
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);