[解決済み] dom のレンダリングが終了した後に、ディレクティブを実行するには?
2022-10-11 12:03:08
質問
一見簡単そうに見える問題ですが、その内容は以下の通りです。 (Angular JSのドキュメントを読むと) 解決策がありません。
私は、DOM内のコンテナの高さを定義するために、他のDOM要素の高さに基づいたいくつかの計算を行うAngular JSディレクティブを持っています。
これと似たようなことがディレクティブの内部で行われています。
return function(scope, element, attrs) {
$('.main').height( $('.site-header').height() - $('.site-footer').height() );
}
問題は、ディレクティブが実行されたときに
$('site-header')
が見つからず、必要な jQuery ラップ DOM 要素の代わりに空の配列が返されることです。
DOMがロードされた後にのみ実行され、通常のjQueryセレクタスタイルのクエリによって他のDOM要素にアクセスできる、ディレクティブ内で使用できるコールバックはありますか?
どのように解決するのですか?
$('site-header') がどのように構築されているかに依存します。
を使ってみてください。 $timeout を0遅延で使用してみてください。こんな感じ。
return function(scope, element, attrs) {
$timeout(function(){
$('.main').height( $('.site-header').height() - $('.site-footer').height() );
});
}
を注入することを忘れないでください。
$timeout
をディレクティブに注入することを忘れないでください。
.directive('sticky', function($timeout)
関連
-
[解決済み] jQueryを使って要素のIDを取得するにはどうすればよいですか?
-
[解決済み] どのDOM要素にフォーカスがあるかを調べるには?
-
[解決済み] DOM要素が現在のビューポートで表示されているかどうかを確認するにはどうすればよいですか?
-
[解決済み] jQuery データ属性の値に基づいて要素を検索する方法は?
-
[解決済み] 入力にフォーカスがあるかどうかをテストするためにjQueryを使用する
-
[解決済み] jQueryやgetElementByIdのようなDOMメソッドが、要素を見つけられないのはなぜですか?
-
[解決済み] Electron: jQueryが定義されていない
-
[解決済み】AngularJSで属性を条件付きで適用するための最良の方法は何ですか?
-
[解決済み】AngularJSでディレクティブを書くとき、新しいスコープ、新しい子スコープ、または新しい分離されたスコープが必要であるかどうかは、どのように決定するのですか?
-
[解決済み] AngularJS:AngularJSがテンプレートをレンダリングした後に、追加のコードを実行するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
echarts-all.js:1 Uncaught TypeError: nullのプロパティ'getAttribute'を読み取ることができません。
-
[解決済み] setTimeout(fn, 0)が役に立つことがあるのはなぜですか?
-
[解決済み] ユーザーがEnterキーを押してフォームを送信できないようにする
-
[解決済み] Twitter Bootstrapのモーダルウィンドウを閉じないようにする
-
[解決済み] ドロップダウンのアイテムの選択値をjQueryで取得する
-
[解決済み] jQueryを使ってロールオーバー時に画像ソースを変更する
-
[解決済み] jQueryを使用して配列から特定の値を削除する方法
-
[解決済み] セレクトボックスの選択項目を設定する
-
[解決済み] jQuery / JavaScriptでJSONデータをパースする方法は?
-
[解決済み] jQueryを使用して文字列から最後の文字を削除する方法は?