レンダリングされたDOMを編集する(Ext.form.TextField)

ども、小堤です。

絶対わすれるなぁ~と思ったのでメモ。

HTMLに出力されているDOMを編集したいときってないですか?あるんですよ。

http://extjs.xenophy.info/2009111302.html

DIVタグをダブルクリックしたら編集できます。先のExt.form.TextFieldと同じですね。

ちなみに、FF/IE/Safari/Operaで動きました。IE6だけは、border-bottomの描画がうまくいかないですが、動きます。(調整すればどうにかなるけど、めんどいのでポイです、ほんとIE6早くなくなればいいのに・・・)HTMLのダイナミックな編集に、こんな感じで実装できますよ的な話。よく見かけるので、ウィンドウとか出して編集させるとかもあるんですが、ダイレクト編集したいときとかありますよねーあるんですよ。

ポイントとしては、Ext.DomHelperでDIVタグ生成して、position:absoluteで浮かせちゃう。そして、対象のエレメントの位置情報をExt.get( t ).getBox()で取得して、レイヤーとしてのDIVタグを上に重ねてしまうという点です。Enterと、TextField以外をクリックすると、編集が終了しターゲットのエレメントに反映されます。

さて、PHPやるか(笑)

レンダリングされたDOMを編集する(Ext.form.TextField)

コメントを残す