jQuery で Nucleusのテキストエリアをリサイズ可能にする

ちょっと引っかかったのでメモ。

Nucleusuのコメントページ、並びにメンバーページにあるテキストエリアは、nucleus_cf_bodyというCSSのIDが振られている。nucleus/formsのフォルダ以下にある次の4つのファイルが元ファイル。

  • commentform-loggedin.template
  • commentform-notloggedin.template
  • membermailform-loggedin.template
  • membermailform-notloggedin.template
画像:commentform-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();
        };
});
/
Skooler Records

No comments yet

%3c%69%6e%70%75%74%20%74%79%70%65%3d%22%68%69%64%64%65%6e%22%20%6e%61%6d%65%3d%22%6e%70%5f%70%72%6f%74%65%63%74%62%79%6d%64%35%22%20%76%61%6c%75%65%3d%22%66%32%39%35%34%36%30%35%66%64%64%31%66%66%35%62%38%64%33%62%38%66%66%64%36%32%37%33%62%31%39%65%22%3e %3c%69%6e%70%75%74%20%74%79%70%65%3d%22%68%69%64%64%65%6e%22%20%6e%61%6d%65%3d%22%6e%70%5f%70%72%6f%74%65%63%74%62%79%6d%64%35%5f%68%61%73%68%22%20%76%61%6c%75%65%3d%22%37%36%65%31%66%30%61%61%39%39%66%66%31%37%34%30%37%32%32%66%39%34%34%66%63%39%62%31%33%31%63%66%22%3e
© 2006 – 2020 by Luvsic. Some rights reserved.