問題タブ [jquery-delegate]

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.

0 投票する
1 に答える
63 参照

jquery - function_1 に $.each() 関数と on("load") 関数が含まれている場合、後で function_2 を実行するにはどうすればよいですか?

私の問題に関連していると思われるdeferred、 、donepromiseおよびなど の多くの投稿を読んで一日を過ごしました。callbacks'how do i run function_2 after function_1'

したがって、物事が非同期で発生した場合、上記のアプローチのいずれかで具体的に処理する必要があるという概念を理解しています。

私のシナリオでは、ループと関数 function_1が含まれています。$.each()on.("load"...)

function_2終わったら走りたいfunction_1

私が単に呼び出すと:

それらは順番に実行されません。私は、またはどちら$.eachon.("load"...)が非同期で動作するためだと推測しています。

私が電話しようとするfunction_2と:

私は得る:

TypeError: function_1.done is not a function.

function_1これにより、その方法が利用できない と考えるようになります (そして、この時点で完全に軌道から外れている可能性があります)。

したがって、私の質問は、おそらく誤った仮定に基づいていますが、次のとおりです。

  • どのタイプのオブジェクトから返されますかfunction_1(含まれている場合は$.each()機能しon.("load"...)ますか?
  • メソッドfunction_1が利用可能であることを強制できますか?done()

jsフィドル

を使用した上記のアプローチと同様に、動作しないdone()acallbackを使用してみましたが、おそらく時間がかかるものを複製する私の方法は正しくありませんでした:

http://jsfiddle.net/rwone/xFX8a/2/

0 投票する
1 に答える
193 参照

javascript - 委任されたイベントリスナーを見つける方法は?

通常、私が使用しているDOMノードでリスナーを取得するには

ただし、委任によって追加されているイベント リスナーは表示されません。

明らかな方法の 1 つは、DOM ツリーをたどり、親が見つからなくなるまで同時に呼び出して、いずれかの親が手元の要素にイベントを委譲しているかどうかを調べる$('selector').parent().data('events')ことですが、これは非常に効率的または標準的な方法とは思えません。そして、この種の問題はあまりにも一般的であり、より良い解決策がないのではないかと思います.

委任されたものを含むすべてのイベントリスナーを見つける方法は?

0 投票する
1 に答える
82 参照

jquery - セレクターが存在するときのjQueryイベント委任?

新しく作成された特定の DOM 要素のテキストを変更したいとしましょう。例えば:

(本当のAPIではありません、私は理解しています)

したがって、プログラムで作成<p class="change-this">して DOM に (jQuery などを介して) 追加すると、上記が起動します。これはjQueryができることですか?私が考えることができるのは、プログラムで HTML を追加して$.trigger('creation')、これらのイベントを処理するハンドラーを用意することだけです。

0 投票する
3 に答える
201 参照

javascript - デリゲート jquery の使用時に JQUERY イベントが複数回発生する

コードでデリゲートjqueryを使用していますが、イベントを複数回発生させると、 optionclickedクラスのイベントをbox-mainクラスにバインドしたためだとわかっていますが、私はしなければならない状況にありますoptionclickedクラスを使用するコンテンツは動的に生成されるため、これらのクラスを相互にバインドします。イベントが一度だけ発生すると、関数が1回呼び出され、ポップ操作が1回表示され、データが1回投稿されるなど、問題の解決策はありますか.

0 投票する
1 に答える
126 参照

javascript - 委任された jQuery オートコンプリートを作成する

次のコードを使用して、オートコンプリート テキスト ボックスを作成しています。jQueryは以下の通りです。

HTMLは以下の通りです。

オートコンプリートは最初の行で機能します。ただし、上記のコードで [行を追加] ボタンをクリックして 2 行目を作成すると (すべて正常に動作します)、Auto_complete は後続の行では機能しません。そのために委任されたハンドラーが必要になることを整理しました。では、現在の jQuery セレクターを委任されたセレクターに変換するにはどうすればよいですか?

回答をもとに以下のように書いてみたのですが、まだうまくいきません。

それから私は以下を使い続けました。

そしてそれも失敗しました。どうすればこれを達成できますか?

アップデート

上記の例では、イベントの順序がめちゃくちゃになっています。適切な構文を使用する必要がありました

私のコードは次のようになります。

そして、それは仕事をしました!!!

0 投票する
1 に答える
648 参照

javascript - 委任された入力フィールドに値を設定する jQuery

次のようなHTMLコードがあります。

行を動的に追加する「行を追加」というボタンがあります。

次に、slno フィールドのぼかし中に更新関数を呼び出すこのバインドがあります。

関数update_unitcostは次のとおりです。

上記の関数では、thisセレクターで値を取得できますが、次の行で値を設定すると、

.costすべての " " クラスをその特定の番号にリセットするだけです。委任された個々の行に値を設定するにはどうすればよいですか? 私も次のアプローチを試みましたが、失敗しました。

0 投票する
4 に答える
98 参照

javascript - jQuery で現在の要素の前にある要素にアクセスする

次のHTMLテーブルがあります。

クラス「btn green」のボタンをクリックすると、次のように委任されたイベント ハンドラーを使用して新しい行を生成します。

ただし、新しい行を作成するときは、前の行の「新規追加」ボタンを消す必要があります。jQuery で hide() 関数を使用できますが、前の行にアクセスするにはどうすればよいですか? 以下は機能していません。

0 投票する
2 に答える
2098 参照

javascript - 行のボタンがクリックされたときに HTML TR の要素を取得します

次の動的HTML 行があります。

編集ボタンをクリックすると、その特定の行のセル要素の値を JS 変数として jQuery に取得する必要があります。これを AJAX POST で別の PHP ページに送信して、データベースに挿入できます。以下のようにしてみましたが、うまくいきませんでした。

意図したとおりに変数をキャッチしません。どうすればこれを達成できますか? これらの SPAN データを 3 つの変数に取得する必要があります。