文字列から「簡単に」メニューを作成・表示・選択するスクリプトです。
選択された文字列(選択されなければ空文字)を返します。
セパレータ(空文字列)・無効(_:アンダーバー)・チェック(.:ピリオド)可能。
表示位置は、デフォルトでカーソル位置、引数: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
