私は作成しているjqueryによっていくつかのデータをhtmlオブジェクトに割り当てていますが、プラグインからメソッドを呼び出すと、割り当てられたデータはオブジェクトにもうありません。限り.data()
生活を使用してデータ()が割り当てられているjqueryデータの存続期間はどのくらいですか?
答えて
それは.data()
はどのくらいのデータの生活を理解するためにどのように機能するかを理解しておくと便利です。 .data()
で何かを保存すると、jQueryの内部のjavascriptデータ構造に入ります。したがって、その点では、javasacript変数であり、他のjavascript変数が存続している限り存続します。
これは、一度ページを離れると、他のすべてのJavaScript変数と同様に完全になくなったことを意味します。
データを削除できるもう1つの方法は、一部のjavascriptコードがデータ構造からデータを削除した場合です。これは通常、DOMオブジェクトを意図的に破棄するjQueryメソッドを使用する場合にのみ発生します。 $(elem).remove()
または$(elem).html("some html)
と、DOMから要素を削除するその他のjQueryメソッドを使用して行うことができます。これらのメソッドはオブジェクトをDOMから削除するため、jQueryはこれらの要素に関連付けられた情報を「消去」します。 1つの特別な例外は.detach()
で、DOMから要素を削除しますが、削除することはありません.data()
infoこれは、あなたがDOMからそれを削除できるように意図的に行われていますが、おそらく状態をDOM内に戻すことができます。
注:(など.removeChild()
として、あるいは.innerHTML
に割り当てることによって)jQueryの機能を使用せずにDOMからDOM要素を削除する場合は、jQueryのは、あなたがそれらのDOM要素を削除したことを知らないだろうと.data()
情報は清掃されることはありません基本的にメモリ内にスペースを無駄にしてしまいます。余分なメモリを消費する以外に何らかの害を引き起こすことはありません。その.data()
情報に他のjavascriptまたはDOM要素への参照が含まれていると、さらに大きなメモリリークが発生する可能性があります。
.data()
を使用している場合は、DOM要素が削除される可能性のあるものについてjQueryメソッドを使用したい場合が1つ作成されます。通常、jQueryでは、プレーンなjavascriptとjQueryを混在/マッチングすることは自由ですが、そうしないでください。
問題を解決しました! – Johangsl
データ:
jQueryのあなたのページにまだあります。 jQueryは
.data()
を使用してデータにinternal cacheを使用します。それは決してDOMの上にはありません。限り、あなたはデータをバインド要素がDOMに削除まわり場合や、まだあるとして、それはあなたがページをリロードしないでください
.detach()
により除去しました。
.data()
に格納されたデータは、ページの再読み込みによって保持されません。
jQuery.data()
ドキュメントから
:
jQuery.data()
方法は、私たちは循環参照から安全とメモリリークのため、自由な方法でDOM要素に任意の型のデータを添付することができます。 jQueryは、jQueryメソッドを使用してDOM要素を削除したとき、およびユーザーがページを離れるときにデータが確実に削除されるようにします。我々は、単一の要素のいくつかの個別の値を設定することができますし、後でそれを取得:
- 1. アプリ購入のtransactionReceiptデータの存続期間はどのくらいですか?
- 2. Objective Cでの割り当てと割り当て解除の速さはどれくらいですか?
- 3. Flexでデータに変数が割り当てられていません
- 4. クラスが割り当てられているかどうかjqueryチェック
- 5. Cometd:clientIdはどのくらいの期間続くのですか?
- 6. 割り当て、私はいくつかのIDを割り当てるようViewBagからのデータを使用している私のドロップダウンリストに属性名@ Html.DropdownList
- 7. JNIのjstringのオブジェクトの存続期間はどのくらいですか?
- 8. どのくらいのメモリがSession変数に割り当てられていますか?
- 9. 可変出力引数リストからのデータの割り当て
- 10. すでに割り当てられている変数にメモリを割り当てていますか?
- 11. Excelのデータ分割/割り当て
- 12. DataTableが他のDataSetに割り当てられているエラー
- 13. 割り当てられた/割り当てられていない文字列の命名規則
- 14. メモリページにヒープが割り当てられていますか?
- 15. Rails + Sunspot:アソシエーションが割り当てられていないレコードをフィルタリングするための「未割り当て」ファセット
- 16. 配列にどれくらいのデータがありますか?
- 17. ThreadLocalはTLABに割り当てられていますか?
- 18. CiviCRMにデータをインストールしてインポートするのにどれくらい時間がかかりますか?
- 19. データベースメモリはどのように割り当てられていますか?
- 20. Razor Editorテンプレートが割り当てられていない
- 21. DataTableアイテム配列が割り当てられていない
- 22. Railsのセッションに保存されているオブジェクトはどれくらいの期間保持されますか?
- 23. カスタムコンポーネントのイベントが割り当てられていません
- 24. jQueryは、1つしか割り当てられていないにもかかわらず、2点のデータを収集します。
- 25. 参照が正しく割り当てられていないコンストラクタ?
- 26. C - 解放されているポインタが割り当てられていない
- 27. 非同期要求がサーバに存続する時間はどれくらいですか?
- 28. UILabelのテキストにはcolorWithPatternImage:が割り当てられていますか?
- 29. "割り当てられていない変数の使用"エラー
- 30. 割り当てられていないパラメータの使用、C#
コードを投稿できますか? – Joseph
データはプラグインに保存されていますが、プラグインファイルのイベントを呼び出すボタンがありますが、これまでに行ったすべてのデータを定義すると、未定義の – Johangsl
プラグインコードを投稿できますか? – Joseph