Dentaku

といってもKRAFTWERKのそれではないです。
相方のPHSを初代京ぽんから9(nine)に機種変更しようかと考えていたとき、懸案になったのが「電卓機能」の有無でした。
ウィルコムのページで9(nine)の端末仕様を見ると、9(nine)には電卓機能がないようにみえたんですね。
http://www.willcom-inc.com/ja/lineup/ws/009ke/
nico.には電卓機能があると書いてあるのに・・・
http://www.willcom-inc.com/ja/lineup/ws/005in/
相方は電卓を結構使うので意外に重要だったりします。
でもnico.は着信音がいまいちだし、かわいいけどかっこよさで選ぶなら9(nine)だよね〜とか思ったり。
でも電卓機能はなさそう・・・
じゃ、9(nine)にあるNetFrontをつかって、Javascriptで電卓を組んでみよう!
とか思ったわけです。
いろいろJavascriptで書かれた電卓は見かけます。
Javascriptをいじったことがある人はは、一度は電卓を書いたことがあるかもしれませんよね。
でも!
携帯の電卓なのだから、

カーソルキーで四則演算を入力できなくてはいけないのです!

カーソルキーのonkeydownイベントをつかまえる。
これが結構難しい。
というわけで、とりあえず作ったのがこれ↓
http://www.d2.dion.ne.jp/~ujiie/javascript/dentaku
documentオブジェクトのonkeydownイベントをフックしてみました。
どのオブジェクトならカーソルの上下左右すべてを補足できるのかわからなかったなぁ。
text inputは上下を拾わないので、textareaにしてみたり・・・。
でもなんかしっくり来なくて最終的にはdocumentオブジェクトをフックしました。
IEFireFox(netscape)のイベントのとり方が違っているのは何となく知っていたけど、ここまで違うとつらいなぁとか思ったり。
まあでもPCのブラウザでだったらとりあえずちゃんと動くようです。

続きを読む