@@ -35,6 +35,7 @@ $.widget("moogle.contextmenu", {
35
35
options : {
36
36
addClass : "ui-contextmenu" , // Add this class to the outer <ul>
37
37
closeOnWindowBlur : true , // Close menu when window loses focus
38
+ appendTo : "body" , // Set keyboard focus to first entry on open
38
39
autoFocus : false , // Set keyboard focus to first entry on open
39
40
autoTrigger : true , // open menu on browser's `contextmenu` event
40
41
delegate : null , // selector
@@ -143,7 +144,7 @@ $.widget("moogle.contextmenu", {
143
144
} else if ( this . $menu ) {
144
145
this . $menu
145
146
. menu ( "destroy" )
146
- . removeClass ( this . options . addClass )
147
+ . removeClass ( opts . addClass )
147
148
. hide ( ) ;
148
149
}
149
150
this . $menu = null ;
@@ -153,7 +154,7 @@ $.widget("moogle.contextmenu", {
153
154
if ( ! menuDef ) {
154
155
return ;
155
156
} else if ( $ . isArray ( menuDef ) ) {
156
- this . $menu = $ . moogle . contextmenu . createMenuMarkup ( menuDef ) ;
157
+ this . $menu = $ . moogle . contextmenu . createMenuMarkup ( menuDef , null , opts ) ;
157
158
this . menuIsTemp = true ;
158
159
} else if ( typeof menuDef === "string" ) {
159
160
this . $menu = $ ( menuDef ) ;
@@ -579,10 +580,12 @@ $.extend($.moogle.contextmenu, {
579
580
}
580
581
} ,
581
582
/** Convert a nested array of command objects into a <ul> structure. */
582
- createMenuMarkup : function ( options , $parentUl ) {
583
- var i , menu , $ul , $li ;
583
+ createMenuMarkup : function ( options , $parentUl , opts ) {
584
+ var i , menu , $ul , $li ,
585
+ appendTo = ( opts && opts . appendTo ) ? opts . appendTo : "body" ;
586
+
584
587
if ( $parentUl == null ) {
585
- $parentUl = $ ( "<ul class='ui-helper-hidden' />" ) . appendTo ( "body" ) ;
588
+ $parentUl = $ ( "<ul class='ui-helper-hidden' />" ) . appendTo ( appendTo ) ;
586
589
}
587
590
for ( i = 0 ; i < options . length ; i ++ ) {
588
591
menu = options [ i ] ;
0 commit comments