JavaScriptでの独自右クリックメニューライブラリ作った


さて、たまにはJavaScriptでも。


JavaScriptで独自の右クリックメニューを簡単に使うライブラリ作った。

http://spiritloose.net/misc/popupmenu/


デザインはlivedoor Readerから頂きました。

var popup = new PopupMenu();
popup.add('メニューに表示するテキスト', function(target){ // なんか処理 });
popup.addSeparator(); // セパレータ追加
popup.bind('targetElement');
popup.bind(); // document がターゲット


こんな感じで使える。
jsファイルひとつでよくて、メニューのHTML書く必要はない。スクリプトのみでOK。
CSSファイルとか、他のライブラリとかも不要。

その分デザイン変えるためにはソースいじらないとだめだけど。
(あと、設計をSwingのJPopupMenuみたいにしようとしたけど、無駄なのでやめた)


なんでこんなもん作ったかって言うと、Webアプリはそろそろ独自右クリックメニューは許されてもいいかなぁと思ったので。


その辺のサイトでやられるとやっぱり結構うざいけど、キーを設定してるサイト/アプリは最近たくさんあるので、右クリックもそろそろ許されるといいかなぁと。


例えば、Gmailはショートカットキーを使うと非常に便利に使えるんだけど、リストのアイテムに右クリックメニューがあって、そこからぽちぽち返信とかラベルつけたりとか、アーカイブとか出来たらそれなりにクライアントアプリっぽくつかえるかなぁと思った。


あと、こんなこととか。



Firebugでちょちょっと捏造してみただけで、購読停止以外動きません。


oncontextmenuっていうと、return falseだけ設定している訳わからんサイトとかで印象よろしくない時代が続いたので、再評価されたらいいかなぁと。

まじめに使えば結構便利だと思う。


oncontextmenu がきちんと仕様にのる日はくるのかなぁ。こないだろうなぁ。


追記

↑とか書いたら今朝似たようなライブラリが紹介されてた。

http://phpspot.org/blog/archives/2007/02/javascriptright.html

なんか使い方よくワカンネ。


他に作ってるときに見つけたのはこんなのとか。

http://www.dhtmlgoodies.com/scripts/context-menu/context-menu.html

これもめんどくさそう。


追記2

続き書きました。