質問があります。呼び出し時に実行したい関数があり、その関数にイベント アンドラーをアタッチします。
今、私はこのソリューションを使用していますが、それが最善の方法だとは思いません
ff();
$(window).bind('scroll resize', function(){ ff(); });
function ff(){ /* do something */ };
この問題の最善のトリックは何ですか?
質問があります。呼び出し時に実行したい関数があり、その関数にイベント アンドラーをアタッチします。
今、私はこのソリューションを使用していますが、それが最善の方法だとは思いません
ff();
$(window).bind('scroll resize', function(){ ff(); });
function ff(){ /* do something */ };
この問題の最善のトリックは何ですか?
これを試して:
function ff(){ /* do something */ };
$(window).bind('scroll resize', ff ).resize();
何が欲しいのか正確にはわかりませんが、これは確かに一般的なパターンです。
function ff(){ /* do something */ };
...
$(window).on('scroll resize', ff).trigger('resize');
ff()
直接呼び出すのではなく、イベントをトリガーすることにより、ハンドラーはthis
内部的に (つまりwindow
、例で) 正しい解釈を行います。
on()
whichを優先する inの使用bind()
は現在推奨されていないことに注意してください。
さて、ウィンドウを使用すると、次のようにすることができます。
$(window).bind('scroll resize load', ff);
これにより、ウィンドウのロード時にも関数がトリガーされます。