JSでオブジェクトを書き込もうとしています。このオブジェクトは、ブラウザー ウィンドウのサイズが変更されるたびに、いくつかの値を再計算する必要があります。関数をイベント(「サイズ変更」)にバインドすることで、それを実行しようとしています。JQuery フレームワークを使用しています。
私はいくつかのアプローチを試しましたが、どれも機能しなかったため、例はあまり役に立ちません。アイデアは次のようなものです。
function grid_constructor(options) {
this.numOfdivisions = $(target).width() / division_size;
$(this).on ("resize", function () {
this.numOfdivisions = $(target).width() / division_size;
})
}
これまでのところ、問題はイベントをオブジェクトではなくドキュメントにバインドする必要があることだと思いますが、イベントをこのようにドキュメントにバインドしようとすると、$(window).resize (this.recalculate_divisions())
すぐに起動し、二度と起動しません(だから私は推測しますやり方が間違っている)。
この関数はオブジェクトに固有であるため、インスタンス化されたオブジェクトを名前で参照することはできません (コードを書いている時点では、どの名前になるかはわかりません) $(document).ready(function(){$(window).resize($(object_name).function))
。
明確にするために。カスタム イベントを作成したくありません。作成後はいつでもオブジェクトがイベントに反応する必要があります。