Because We Love Happy Coding

フリーライターからエンジニア × 講師。発信力だけあり余ってる感じ

kintoneのサブテーブル描画はDOMContentLoadedより遅い

今日もまたコーディング。だって僕らはHappy Codingが大好きだから。

Cybozu DeveloperNetworkの情報はいつも、かゆいところが足りない気がする。「こう」と断言してあるのを鵜呑みにすると動かない。よく調べると例外があったり。「それ、早く言ってよ……」というのがたびたびある。

イベントハンドラー登録の適切なタイミングについて – cybozu developer network

ここにイベント処理のタイミングについて情報があるのだが、サブテーブルをJavaScriptでいじりたいときに、いつものようにDOMContentLoadedのタイミングで処理させようとすると失敗する。

kintoneのレコード詳細に設置したテーブル行に、条件に応じて背景色をつけてやる - Qiita

レコードに登録されたテーブルの文字列をみてスタイルシートのTRカラーを定義したい – cybozu developer network

詳細画面のサブテーブルの表の各セルの色を変更する方法について – cybozu developer network

つまり、DOMContentLoadedよりもさらに遅いタイミングでサブテーブルの描画が始まるため、終了を待つためにはsetTimeOut()で待つか、サブテーブルの行数を数えて最終行が来るのを待つまでループしなければならない。

jQueryでサブテーブルをいじる場合などは注意が必要。