私は、画面の上部を横切って水平に実行するようにメニューを設定しました。(フローティングトップレベルのli
は左側にあります)。サブメニューのデフォルト位置はmy left top left at right top
です。私はそれがmy right top at right bottom
であることを望むので、トップレベルメニューの動きを妨げません。これ(または他の値)を指定すると、y軸は常に中央に配置されます。私は様々なピクセル調整を使ってみましたが、変更はありません。jQuery UIメニューの位置オプション:y軸は中央にのみ配置できます(上端/下端は中央に表示されます)。 (バグ?)
値のように疑わしい音が0に設定されていてはいけないので、私はバグを感じます。ここでjsFiddleだとここに私のコードは次のとおりです。
$('#topMenu').menu({
select: function(event, ui) { alert('selected ' + ui.item.text());
},
position: {
my: 'right-top',
at: 'right-bottom'
},
icons: {
submenu: 'ui-icon-triangle-1-s'
}
});
私はjQueryのUI-1.11.4を使用しています。私は同じ結果を持った以前のバージョンを使ってみましたが、1.8.0と遠くまで戻ってきました(他の問題もありましたが)。誰が私にこのバグではないのかを教えてもらえますか?
編集:私はjquery-ui.jsに入り、これを修正した変更を加えることができたので、今はかなりバグだと確信しています。ここに関連するコードは、行6363から始まる、だ:
var menu = $.widget("ui.menu", {
version: "1.11.4",
defaultElement: "<ul>",
delay: 300,
options: {
icons: {
submenu: "ui-icon-carat-1-e"
},
items: "> *",
menus: "ul",
position: {
my: "left-1 top",
at: "right top"
},
role: "menu",
// callbacks
blur: null,
focus: null,
select: null
},
私は位置オプションを変更:
position: {
my: "right top",
at: "right bottom"
},
をし、私が探していたポジショニングを得ました。明らかに、これは修正ではありません(私のアプリケーションには1つのタイプのメニューしかないので、これは今のところ、私がやるべきことのためのハックとして機能します)。しかし、問題があることを実証しているようですjquery-uiコードで、ユーザー設定を取得します。