問題タブ [jquery-callback]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jquery - Jqueryプラグインでノードのリストを追跡する方法(クライアントがそれらのDOMノードを削除する可能性がある場合)
DOM内の特定の数のノードを「指す」jQueryプラグインを作成しています。しかし、プラグインにノードのセットへの参照を保持させるようなことをしようとすると、それらが「古くなる」のではないかと心配します。
(JavaScriptはガベージコレクションされてクラッシュしないことはわかっていますが、リストを最新の状態に保ち、GCする必要のあるものを保持しないようにしたいと思います。)
私が最初に思いついたのは、ある種のフックがあるかもしれないということでした。しかし、信頼できるように見える標準はないようです。
JQueryでは、DOM要素が.remove()を呼び出したときに関数を実行することは可能ですか?
これにより、ノードにクラス属性を設定してノードのリストを維持することに疑問を抱きました。そうすれば、リストのメンバーシップは一緒に移動します。しかし、恐れているかもしれませんが、これは列挙するのに病理学的に時間がかかる可能性があり、クラスの前にタグとしてクエリを作成することになっている理由です。
潜在的なパフォーマンスの懸念に加えて、プラグインがこの種の目的でDOMノードにクラスをポークするのは貧弱な形式であると考えられているのではないかと思います。これはスタイリングとは関係ありません。(についてのより良いことの1つは.data()
、それが比較的帯域外であり、このリストの問題を除いて、私が使用しているものです。)
これは、他のプラグインで対処できる一般的な問題のようです。遅いのですが、「正しさ」のプロパティのためにクラスソリューションを使用したくなります。しかし、両方の長所を生かす、より速く、より標準的な方法はありますか?
javascript - jQuery ajax コールバックが呼び出されない
jQuery 1.7 を使用した Javascript コード:
Firebug を使用すると、HTTP GET 要求が送信され、コード 200 の「hello world」応答が返されるので、すべて問題ないように見えます。ただし、コールバックは呼び出されません。
何が悪いのかわかりません。これはとても単純なはずですよね?
jquery - jQuery-getJsonリクエストから呼び出し元関数にコンテンツを返す場合のベストプラクティス
$.getJson
リクエストの結果から呼び出し元の関数にコンテンツを返す場合のベストプラクティスは何ですか?$.fn.getSomeData
内部に呼び出しがあるという関数が$.getJson
あります(この関数は、JSPがWebサービスを使用するためにインポートする必要があるJSファイルにあります)。
次に、呼び出し元のJSP内で、関数が私の関数を呼び出し$.fn.getSomeData
ます。
私の$.getjson
リクエストは非同期であるため、JSONの処理について考える前に、コールバック関数が実行されるのを待つ必要があります。結果のデータを呼び出し元のJSPの関数に渡す処理を行うための最良の方法は何ですか。
$.fn.getSomeData
メソッドにDivを渡し、$。getJsonコールバック関数でjsonの処理を行い、表示したいとおりにDivに追加するなど、私が読んだ他のオプション。
2番目のオプションは、関数をに渡すことでした$.fn.getSomeData
。この関数は、$.getjson
コールバック関数で呼び出すことができます。
誰かがベストプラクティスを推奨できますか?$.fn.getSomeData
外部JSファイルの結合を減らしたいので、関数にDivを渡すオプションを使用したくありません。
また、JSPからの呼び出しにコールバック関数を追加する方法はありますか?コールバックが実行される$.fn.getSomeData
と、何らかの形でトリガーされますか?$.getjson
あなたの提案を聞くのを楽しみにしています。
callback - コールバックを持つjQueryの「存在する」関数
拡張: https://stackoverflow.com/a/31047/235633
このカスタム jQuery 関数を拡張してコールバックを使用する方法はありますか? 基本的に、セレクターのリストを取得してその存在を検出できるようにしたいと考えています。存在する場合は、それらを表示する必要があります。
何千もの if ステートメントを記述する代わりに、コールバックと「this」を使用する 1 つの関数を記述します。
男は書いた:
しかし、私は必要です:
jquery - jQuery $ .animate()複数の要素が、コールバックを1回だけ起動します
jQueryでアニメーション化する要素のクラスまたはコレクションを選択した場合:
また、コールバック関数を使用すると、多くの不要なanimate()
呼び出しが発生します。
おそらくこれは単に悪いコードやデザインです-しかしanimate()
、コールバックを使用してそのうちの1つだけで多くの呼び出しを行うことと、不要なコールバックを実行してコード/期待される動作を台無しにすることの両方を回避するために私ができることはありますか?
理想的には、一度だけ実行される単一の「使い捨て」コールバックをコーディングできると思います。そうでなければ、何かがすでにjQueryによってアニメーション化されているかどうかをテストする効率的な方法がありますか?
例: http: //jsfiddle.net/uzSE6/(警告-これにより、大量のアラートボックスが表示されます)。
javascript - javascriptオブジェクト、コールバック、このキーワード
jqueryajaxコールバックで「right」「this」を正しく参照する方法を理解するのに問題があります。
コールバックを定義するjavascriptクラスがあります。
私が持っているクラスの外:
今のところ、foo1.onCallback内の「this」はajax呼び出しがアタッチされているhtml要素を参照していると思います。'this'がfoo1を参照していることを確認するにはどうすればよいですか?これを行うためのより良い方法はありますか?
jquery - jqueryで2つのクラスを一度にアニメーション化
機能に問題がありanimate()
ます。最初に 2 つのオブジェクトをアニメーション化し、次に 4 秒間待ってから、そのオブジェクトを再びアニメーション化します。私のコードは次のようなものです:
.show
これはクラスに対して完全に機能しますが、 の.caption
前に非常に速くアニメーション化することがあり.show
ます。次のように、早期のアニメーション化を防ぐため.caption
に のコールバック関数に設定しようとしました。.show
.caption
ただし、この場合、.show
終了後にアニメーション化されます。実行中ですが、両方のクラスを一度にアニメーション化したいです。解決策はありますか?ありがとう ...
ajax - クロスドメインJSONPを受信するときに、ブラウザはコールバックを実行する必要があることをどのように認識しますか
クロスドメインAJAXを実行している場合、返されたリソース(JSONを中心に返されたコールバック)は、クライアントのコールバックメソッドを実行する結果になります。
この機能(コールバックの実行)はAJAXクライアントにプログラムされていますか、それともサーバーからclientCallBack('json_data')などのラップされたデータを受信するとclientCallBackをトリガーして'json_data'を渡すブラウザーのこの部分です。
javascript - Infinite Scroll ページが読み込まれると、読み込まれたページの CSS が変更されます。
私が構築しているこのサイトには、Infinite Scroll、Isotope、および .mb_miniplayer_play という名前のオーディオ プレーヤーがあります。私が抱えている問題は、新しいページが読み込まれると、以前に読み込まれたページの css が変更されることです。ページ 2 が読み込まれ、ページ 1 の css が変更されたとします。しかし、それは1つの要素だけです。
さまざまなことを試しましたが、すべてのページが適切に表示され、機能するようには見えません。
コードは次のとおりです。
誰もがこれを経験しましたか。私のjqueryコードが間違っているか、何かが欠けていると思いますが、何がわかりません。
HTML マークアップは次のとおりです。変更されている div は .download です。読み込まれたページの 'Top' の css 設定は適切に見えるようにする必要がありますが、新しく読み込まれたページは適切に見えるために top:-24 だけが必要です。