2016-05-21 5 views
1

私は、画面の上部を横切って水平に実行するようにメニューを設定しました。(フローティングトップレベルの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コードで、ユーザー設定を取得します。

答えて

0

解決策が私の顔から卵を拭き取っても、私はこれを削除しません。それはかなり面白いので、私はそれを残している、それはあなたが終了する必要があり、あまりにも些細な問題に夢中に忙しいときに何が起こるの特に良い例です。

jakecigarがjQueryフォーラムで指摘したように、私のコードの上には、myatの値にハイフンがあります。 jQueryコードにはありません。ハイフンを削除すると問題が解決しました。

関連する問題