文字列から「簡単に」メニューを作成・表示・選択するスクリプトです。
選択された文字列(選択されなければ空文字)を返します。
セパレータ(空文字列)・無効(_:アンダーバー)・チェック(.:ピリオド)可能。
表示位置は、デフォルトでカーソル位置、引数:True でマウス位置。
書式は下の使用例がすべてです。
String.prototype.choice=function(p){ var t,m,q=1,r=RegExp; return(t=(m=function k(a){ var u=CreatePopupMenu(),i=0,s; while(i<a.length)typeof(s=a[i++]||'')=='string' ?s.match(/^([\._])(.*)$/) ?u.Add(r.$2,q++,r.$1=='.'?8:1) :u.Add(s,s?q++:0,s?0:2048) :u.AddPopup(s[0],k(s.slice(1))); return u} (eval('['+this.replace(/\s*(^|,|\[|\]|$)\s*/g,'$1'). replace(/([^,\[\]]+)/g,"'$1'")+']'))). Track(p))>0?m.GetText(t):'' }
使用例
alert( 'Above, , Below, .Checked, _Disabled, [Envelop, [Group, _Hide, Inside],[Job, Knife, .Letter]], Fast &Key' .choice()||'none')
Copyright
Csardas