jQuery で Nucleusのテキストエリアをリサイズ可能にする
- 投稿日 : 2009-01-21, 22:27
- 最終更新日時 : 2010-12-21 17:33:11(履歴)
- タグ(Nucleus / jQuery)
- カテゴリ(Javascript)
- 記し人(luvsic)[PDF]
- 閲覧数(9616)
ちょっと引っかかったのでメモ。
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();
});
しかしこれでは、テキストエリアがないページでエラーが起こるみたい。うーん。スキンでif使って切り分けてもいいけど、PHPの処理、というかコードはなるべく減らしたい。そこでjQuery側で、「もしもCSSのあるIDが存在する場合に実行する」という処理を書けば・・・ はて、jQueryってどうやってif書くの?
というわけで、ろくろく自前で考えもせず検索したらすぐHITした。トップの画像素敵。
なるほど、.length 使える!
というわけで下記のように書いた。
jQuery(function() {
if ($('textarea#nucleus_cf_body').length) {
$('textarea#nucleus_cf_body:not(.processed)').TextAreaResizer();
};
});
No comments yet