2013年9月26日木曜日

jquery覚書

canvasを頑張ってHaskellで書こうという愚行がてら、
ようやくJQueryが何か分かってきたので、忘れないうちにメモっておく。

とりあえず…
・ 純粋なjavascript だけでは書き換えはできない。
・ DOMかJQueryのどっちかを使うと書き換えができる。
・ 書き換えのタイミングは、指定したアクションによる。(ボタン押したら~とか…)
・ 書き換えの対象は、指定したidによる。<button id="btn"> の"btn"とか

とりあえず、fay-jquery についてしか言えませんが、
id文字列("#btn"とか) をpackしてTextに変換後、selectに食わせて、Fay JQueryを得る。
これで、色々と操作ができる。はず。

get~~~ は、JQuery -> Fay Text な関数がほとんどで、
たとえば、 getHtml は、選択中のHTML文字列を吐き出す。
他にも、getText とかは、まんま、選択中のTextを吐き出す。

set~~~は、Text -> JQuery -> Fay JQuery が多くて、getの反対。


<p id="text">こんにちは</p>

について、

select (pack "#text") >>= getText >>= print とすれば、
Consoleに、 「こんにちは」と出る。
select (pack "#text") >>= setText (pack "YEAH") とかけば、  
画面の「こんにちは」が「YEAH」に変わる。
他にも、getHtml, getCSS, getHeight (canvasで使えば縦の長さ)とかある。


--------------

Event型については、マウスとかキーボードとかそういうイベントアクション。
取得したidのJQueryについて、onClickとか、mousemoveとかによって、
色々とEvent型のeventが取得できるから、そこから色々取り出す感じ。

pageX, pageY :: Event -> Fay Double というのがあって、
これは、取得したevent値から、ブラウザ上のx,y座標を取り出すといった感じかな?
他にも、eventType :: Event -> Fay Text は、そのアクションの種類(クリックとか)を取り出す。

イベントアクションには、blurとかchangeとかonFocusとかsubmitとか色々あるけどよくわかんない!

eventX,eventY :: Event -> JQuery -> Double は、たとえばcanvasに使えば、
canvasの左上頂点を(0,0)とした座標をくれる。なんでFay Doubleじゃないんだろう・・・。


0 件のコメント:

コメントを投稿