jQuery で Nucleusのテキストエリアをリサイズ可能にする
- 投稿日 : 2009-01-21, 22:27()
- タグ(jQuery JavaScript Nucleus)
- カテゴリ(Javascript)
- 記し人(luvsic)
- 閲覧数(549)
- test null 13
- test 1-3
- test 2-3
ちょっと引っかかったのでメモ。
Nucleusuのコメントページ、並びにメンバーページにあるテキストエリアは、nucleus_cf_bodyというCSSのIDが振られている。nucleus/formsのフォルダ以下にある次の4つのファイルが元ファイル。
- commentform-loggedin.template
- commentform-notloggedin.template
- membermailform-loggedin.template
- membermailform-notloggedin.template
で、jQuery TextAreaResizerで試してみた。サンプルでの実行コードはこんな感じ。
jQuery(function() {
$('textarea#nucleus_cf_body:not(.processed)').TextAreaResizer();
});
$('textarea#nucleus_cf_body:not(.processed)').TextAreaResizer();
});
しかしこれでは、テキストエリアがないページでエラーが起こるみたい。うーん。スキンでif使って切り分けてもいいけど、PHPの処理、というかコードはなるべく減らしたい。そこでjQuery側で、「もしもCSSのあるIDが存在する場合に実行する」という処理を書けば・・・ はて、jQueryってどうやってif書くの?
というわけで、ろくろく自前で考えもせず検索したらすぐHITした。トップの画像素敵。
なるほど、.length 使える!
というわけで下記のように書いた。
jQuery(function() {
if ($('textarea#nucleus_cf_body').length) {
$('textarea#nucleus_cf_body:not(.processed)').TextAreaResizer();
};
});
if ($('textarea#nucleus_cf_body').length) {
$('textarea#nucleus_cf_body:not(.processed)').TextAreaResizer();
};
});
ログインしてのテキストエリアの書き込みテスト。
エラーでませんように。
luvsic, 2009-01-22 11:53 #
ログインせずにテキストエリアの書き込みテスト。
エラーでませんように。
てすと書き込み, 2009-01-22 11:56 #