問題タブ [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.
jquery - function_1 に $.each() 関数と on("load") 関数が含まれている場合、後で function_2 を実行するにはどうすればよいですか?
私の問題に関連していると思われるdeferred
、 、done
、promise
およびなど の多くの投稿を読んで一日を過ごしました。callbacks
'how do i run function_2 after function_1'
したがって、物事が非同期で発生した場合、上記のアプローチのいずれかで具体的に処理する必要があるという概念を理解しています。
私のシナリオでは、ループと関数 function_1
が含まれています。$.each()
on.("load"...)
function_2
終わったら走りたいfunction_1
。
私が単に呼び出すと:
それらは順番に実行されません。私は、またはどちら$.each
かon.("load"...)
が非同期で動作するためだと推測しています。
私が電話しようとするfunction_2
と:
私は得る:
TypeError: function_1.done is not a function.
function_1
これにより、その方法が利用できない と考えるようになります (そして、この時点で完全に軌道から外れている可能性があります)。
したがって、私の質問は、おそらく誤った仮定に基づいていますが、次のとおりです。
- どのタイプのオブジェクトから返されますか
function_1
(含まれている場合は$.each()
機能しon.("load"...)
ますか? - メソッド
function_1
が利用可能であることを強制できますか?done()
jsフィドル
を使用した上記のアプローチと同様に、動作しないdone()
acallback
を使用してみましたが、おそらく時間がかかるものを複製する私の方法は正しくありませんでした:
javascript - 委任されたイベントリスナーを見つける方法は?
通常、私が使用しているDOMノードでリスナーを取得するには
ただし、委任によって追加されているイベント リスナーは表示されません。
明らかな方法の 1 つは、DOM ツリーをたどり、親が見つからなくなるまで同時に呼び出して、いずれかの親が手元の要素にイベントを委譲しているかどうかを調べる$('selector').parent().data('events')
ことですが、これは非常に効率的または標準的な方法とは思えません。そして、この種の問題はあまりにも一般的であり、より良い解決策がないのではないかと思います.
委任されたものを含むすべてのイベントリスナーを見つける方法は?
jquery - セレクターが存在するときのjQueryイベント委任?
新しく作成された特定の DOM 要素のテキストを変更したいとしましょう。例えば:
(本当のAPIではありません、私は理解しています)
したがって、プログラムで作成<p class="change-this">
して DOM に (jQuery などを介して) 追加すると、上記が起動します。これはjQueryができることですか?私が考えることができるのは、プログラムで HTML を追加して$.trigger('creation')
、これらのイベントを処理するハンドラーを用意することだけです。
javascript - デリゲート jquery の使用時に JQUERY イベントが複数回発生する
コードでデリゲートjqueryを使用していますが、イベントを複数回発生させると、 optionclickedクラスのイベントをbox-mainクラスにバインドしたためだとわかっていますが、私はしなければならない状況にありますoptionclickedクラスを使用するコンテンツは動的に生成されるため、これらのクラスを相互にバインドします。イベントが一度だけ発生すると、関数が1回呼び出され、ポップ操作が1回表示され、データが1回投稿されるなど、問題の解決策はありますか.
javascript - 委任された jQuery オートコンプリートを作成する
次のコードを使用して、オートコンプリート テキスト ボックスを作成しています。jQueryは以下の通りです。
HTMLは以下の通りです。
オートコンプリートは最初の行で機能します。ただし、上記のコードで [行を追加] ボタンをクリックして 2 行目を作成すると (すべて正常に動作します)、Auto_complete は後続の行では機能しません。そのために委任されたハンドラーが必要になることを整理しました。では、現在の jQuery セレクターを委任されたセレクターに変換するにはどうすればよいですか?
回答をもとに以下のように書いてみたのですが、まだうまくいきません。
それから私は以下を使い続けました。
そしてそれも失敗しました。どうすればこれを達成できますか?
アップデート
上記の例では、イベントの順序がめちゃくちゃになっています。適切な構文を使用する必要がありました
私のコードは次のようになります。
そして、それは仕事をしました!!!
javascript - 委任された入力フィールドに値を設定する jQuery
次のようなHTMLコードがあります。
行を動的に追加する「行を追加」というボタンがあります。
次に、slno フィールドのぼかし中に更新関数を呼び出すこのバインドがあります。
関数update_unitcostは次のとおりです。
上記の関数では、this
セレクターで値を取得できますが、次の行で値を設定すると、
.cost
すべての " " クラスをその特定の番号にリセットするだけです。委任された個々の行に値を設定するにはどうすればよいですか? 私も次のアプローチを試みましたが、失敗しました。
javascript - jQuery で現在の要素の前にある要素にアクセスする
次のHTMLテーブルがあります。
クラス「btn green」のボタンをクリックすると、次のように委任されたイベント ハンドラーを使用して新しい行を生成します。
ただし、新しい行を作成するときは、前の行の「新規追加」ボタンを消す必要があります。jQuery で hide() 関数を使用できますが、前の行にアクセスするにはどうすればよいですか? 以下は機能していません。
javascript - 行のボタンがクリックされたときに HTML TR の要素を取得します
次の動的HTML 行があります。
編集ボタンをクリックすると、その特定の行のセル要素の値を JS 変数として jQuery に取得する必要があります。これを AJAX POST で別の PHP ページに送信して、データベースに挿入できます。以下のようにしてみましたが、うまくいきませんでした。
意図したとおりに変数をキャッチしません。どうすればこれを達成できますか? これらの SPAN データを 3 つの変数に取得する必要があります。