hoverIntentプラグインをページの要素に追加しようとしていますが、後でDOMにいくつかの要素が追加されます。将来の要素にもプラグインをバインドする必要があります。あなたはどうやってそれをしますか?私は同じ質問を数回見ましたが、誰も明確な解決策を持っていませんか?jQuery.on() - 要素がロードされるとすぐに初期化する方法
答えて
これを行うためのjQueryのサポートはありません。それはプラグイン自体がサポートしなければならないものです。最も一般的なアプローチは、新しいコンテンツを追加した後にプラグインを単純に再初期化することです。これは通常問題ではありません。
もう1つの方法はliveQuery
pluginを使用してこのようなことをすることです。
$('yourSelector').livequery(function() {
$(this).hoverIntent({
// blah
});
});
新しいコンテンツが読み込まれると再初期化が必要なすべてのコードを含む 're_init()'関数を書きました。私は、** hoverIntent **というコードがあることに気がつきました。この関数を使い始めた後は、再度初期化する必要がありました。 –
**この問題に遭遇する他の人のために:** hoverIntentは余分なプラグインを必要とせずにイベントの委任をサポートします。例については私の答えを見てください。 –
これを実現する最善の方法は、新しい要素をページに追加するときにカスタムイベントを発生させることです。このイベントのサブスクライバは、適切なhoverIntent初期化子を呼び出すことができます。
さらにネイティブサポートがmutation observersの形式で行われますが、ブラウザサポートは現在はnilの隣にあります。
イベントDOMSubtreeModifed
のリッスンは信頼できず、パフォーマンス上の大きな問題が発生します。
突然変異観測者のサポートは良くなっています。http://caniuse.com/mutationobserver/embed –
jqueryの構造を変更しようとしました。
ABC = {
init: function() {//all function names goes here
ABC.myFunction1();
ABC.myFunction2();
ABC.myFunction3();
},
myFunction1: function() {
//code
},
myFunction2: function() {
//code
},
myFunction3: function() {
//code
}//dont put comma last one
}
$(function() {
ABC.init();//calls all functions after everything is initialized and ready.
});
イベント委譲のための "セレクタ" パラメータを使用します。
$('#PARENT').hoverIntent({
over: function() {
console.log($(this));
},
out: function(){
console.log($(this));
},
selector: '.CHILD'
});
- 1. データがロードされた後に要素を初期化する方法は?
- 2. ASP.NET:*ユーザーコントロール*が最初にロードされたときに初期化する方法
- 3. カスタム要素*とその子要素*が初期化されたときにコールバックを取得する方法
- 4. ページがロードされた後にangularjs ng-appを初期化する方法
- 5. 初期化要素
- 6. すぐにアレイを初期化する方法
- 7. C++配列のconst要素を初期化する方法
- 8. HTMLページ内の要素を初期化する方法
- 9. 要素がajaxによってロードされた後にブートストラップポップオーバーを初期化する
- 10. 配列要素を使用する前に初期化する方法は?
- 11. FlexSliderを動的ロード用に再初期化する方法
- 12. 初期化時にユーザーコントロールをロードする方法
- 13. エラー:初期化子の要素が
- 14. lazy valが初期化せずに初期化されているかどうかをチェックする方法は?
- 15. Angular2コンポーネントが表示されたときにコンポーネントを初期化する方法
- 16. コントロールが完全に初期化されたときをチェックする方法?
- 17. アプリケーションが初期化されるとすぐにダイアログを開くにはどうすればよいですか?
- 18. 動的に追加された要素のJQueryプラグインを初期化する方法
- 19. EF 4.1、画像が必要なときにデータを初期化する方法
- 20. 構造体の配列を初期化すると、単一の要素のすべてのメンバーが初期化されますが、なぜですか?
- 21. forループの初期化時にキューの要素をポップアップすると、常に同じ要素がポップアップします。
- 22. 初期化後にUnirest要求を実行する方法
- 23. 初期ロード時にタブにデフォルト設定する方法のヘルプが必要
- 24. ノードが初期化解除されると、SCNAction.playAudioがクラッシュする
- 25. 初期化された配列と初期化されていない配列が占めるメモリの見方
- 26. ページが表示されるたびにページを再初期化する方法
- 27. DataTableを初期化する方法Divページをロードするには?
- 28. 直接初期化とコピー初期化の違いを理解する方法
- 29. javascriptでオブジェクトを初期化するときの要素名の使い方は?
- 30. は、DIV要素は、DIV要素がロードされている確認方法
あなたがそれまでは待つようにしようとしています。画像またはjquery関数がロードされましたか? –
イベントとして実装されているhoverintentプラグインを使用して委任をサポートしています。 '' hoverintent "'はイベントではありません:X – Esailija
@barlas実際には、新しいコンテンツはInfiniteScrollを使ってロードされます。 –