問題タブ [event-delegation]
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.
javascript - Javascript イベント委任 -- ポップアップ フォームにタイムピッカーを追加する
ポップアップフォーム内にタイムピッカーを作成しようとしています。イベントの委譲に苦労しています。タイムピッカーをフォームの外側で動作させることはできますが、内側では動作させません。
タイムピッカーポップアップを持たない私の現在のコード:
これは、ポップアップ ボックスの内側では機能せず、外側の #timepick に対してのみ機能します。どうにかして .on() jquery 関数を利用する必要があることはわかっています。
どちらも機能しませんでした。
現在のトライアウトのペーストビン:
編集:
したがって、これはほとんど機能します:
唯一の問題は、現在、ボックスをクリックしてイベント ハンドラーを追加し、クリックしてオフにし、再度オンにする必要があることです。つまり、作業する前にクリックする必要があります。すぐに着火させるにはどうしたらいいですか?どういうわけか .trigger() を使用していますか?
javascript - 各DOMに関連付けられたオブジェクトを使用したイベント委任
イベントとクルーザーを使用して動的に作成されるDOM要素がいくつかあります。
このようなもの:
私の質問は、これにイベント委任をどのように使用できるかということです。したがって、すべてのクリックイベントは#container domにありますが、それでもobj-objectがdomに関連付けられています。
別のオブジェクトを使用して、dom要素とobjを使用して「ハッシュ」テーブルとして使用し、「ハッシュ」テーブルでe.targetを使用できると思いますが、より良い解決策はありませんか?
javascript - スロットル機能とイベント委任
私の問題、関数呼び出しをデバウンスしたいのですが、関数が呼び出されるスコープに関連しています。
私の例では、イベントによって委任されたクリックを探して、クリックをデバウンスします。
これは機能しますが、デバウンスは要素固有ではありません!
http://jsbin.com/itapuf/2/edit
エレガントな方法はありますか?
編集: より具体的には(私の英語は最高ではありません)
このコードを置き換えたい:
これにより(イベント委任):
しかし、そうすると、特定の要素に対する最新のクリックが失われる可能性があります。
次のようなものが必要です:
しかし、スロットル機能をこのように変更するにはどうすればよいでしょうか?
または、この問題に対するより良い解決策はありますか?
jquery - 選択した特定のアイテムのイベントをオフにします
私がこのようなものを持っているとしましょう:
明らかに、私はすべてのボタンがdoSomething()
クリックされるようにしたいです。ここで、これらのボタンの1つにそれを行わせず、別のことをさせたいとしましょう。
これは機能しませんが、必要です。これを達成する方法はありますか?各ボタンを個別に配線する必要はありません。
.off()
ドキュメントのこの部分は私を殺しているものです:
特定の委任されたイベントハンドラーを削除するには、セレクター引数を指定します。セレクター文字列は、イベントハンドラーがアタッチされたときに.on()に渡されたものと正確に一致する必要があります。
これが私がやろうとしていることをデモするフィドルです。
jquery - イベントのjQueryが将来のセレクターで機能しない
モーダルウィンドウがあります。その中には、ID がWebPartWPQ2のテーブルがあり、3 つの異なる状態の 3 つの異なるクラスがあります。クラスはms-applyfiltersinactive、ms-applyfiltersactive、ms-applyfiltershoveroverです。最初に、モーダル ウィンドウがポップアップすると、テーブルにはms-applyfiltersinactiveクラスが含まれます。内部の選択ボックスのオプションを変更した場合にのみ、テーブルのクラスがms-applyfiltersactiveに変更され、マウスをホバーすると、クラスがms-applyfiltershoveroverに変更されます。ウィンドウを閉じると、テーブルのクラスはms-applyfiltersinactiveにリセットされます。
要件は、テーブルがアクティブなとき、つまりクラスms-applyfiltersactiveまたはms-applyfiltershoveroverがある場合にのみ、テーブルにクリック イベントを設定する必要があることです。
私は使っている
これにより、クリック イベントをテーブルにアタッチできません。これは、テーブルのクラスがms-applyfiltersinactiveであるためである可能性があります。
次のコードを使用する場合
イベントは 3 つのケースすべてで発生しますが、これは望ましくありません。
hasClassおよびisイベントを使用してセレクターを除外しようとしました。
ただし、テーブルにクラスがある場合、これは同じブール値を返します。
これで私を助けてください。
jquery - クリックされた要素が特定の div 内にあるかどうかを判断する
動的に追加されるクラス「addedelement」を持つ一連のdivがあります。このすべてのレイヤー内には、さらにネストされた div があり、そのうちの 1 つはイベントが添付された画像を含んでいます。この画像のいずれかをクリックすると、それらの div の LAST 内にあるかどうかを知りたい:
理由はわかりませんが、この条件式は、トリガーが最後の 'elementadded' div 内にあるかどうかに関係なく実行されます。しかし、次のようにCSSを要素に適用しようとすると:
それは魅力のように機能します。私は何が欠けていますか?誰でも私を助けることができますか?
javascript - 選択した行のデータを使用するには?
選択したテーブルから行のデータを収集して結果に使用するにはどうすればよいですか?
行を選択して関数が呼び出されたら、データ入力画面を表示するために使用しているJavaScriptを次に示します。次に、(1) 選択した行のデータの一部と (2) 収集される新しいデータを含むフォームを PHP で設計する必要があります。
行を選択してデータ入力フォームを呼び出す Javascript は次のとおりです。
ここにPHPスクリプトがあります
jquery - 選択要素を使用したjQueryイベント委任?
いくつかのサニティ テストを行っているときに、次のchange
イベント バインディングが機能することに気付きました。
イベントバインディングはしon
ませんが:
この不一致の回避策や説明はありますか?
jquery - 異なるイベントと異なるセレクターを同じ関数に結び付ける
次のようなコードがあるとします。
イベントとセレクターの両方を同じ関数に接続するより効率的な方法はありますか?