問題タブ [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.

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

javascript - ajax 経由で読み込まれたものを含む、すべてのテキストエリアの上にあるリッチ テキスト エディターを自動的に初期化します。

私は ajax を多用する Web アプリを開発していtextareaますclass="ui-richtext"

普通に読み込まれるテキストエリアなら簡単ですが、あとからajaxで読み込まれるコンテンツはどうでしょうか。

私はこれらの線に沿って何かを考えていました:(私はjqueryを使用しています)

残念ながら、これはうまくいかないようです。何か案は?

これは私の最初の投稿です。さらに情報を追加する必要がある場合はお知らせください

0 投票する
7 に答える
22928 参照

javascript - jquery liveでイベントバブリングを停止するにはどうすればよいですか?

一部のイベントを停止しようとしていますが、stopPropagationが「ライブ」で機能しないため、どうすればよいかわかりません。私は彼らのサイトでこれを見つけました。

ライブイベントは従来の方法ではバブルせず、stopPropagationまたはstopImmediatePropagationを使用して停止することはできません。たとえば、2つのクリックイベントの場合を考えてみましょう。1つは「li」にバインドされ、もう1つは「lia」にバインドされます。内側のアンカーをクリックすると、両方のイベントがトリガーされます。これは、$( "li")。bind( "click"、fn);の場合に発生します。バインドされているのは、実際には「クリックイベントがLI要素で発生するたびに(またはLI要素内で)このクリックイベントをトリガーする」ということです。ライブイベントのそれ以上の処理を停止するには、fnはfalseを返す必要があります

fnはfalseを返さなければならないので、私がやろうとしたことは

しかし、それは機能しなかったので、falseを返す方法がわかりません。

アップデート

ここにいくつかの詳細があります。

テーブルセルがあり、クリックイベントをそれにバインドします。

したがって、AddApointmentはUIダイアログボックスを作成するだけです。

これで、ライブコード(MoreAppointments)がこのテーブルセルに配置され、基本的にアンカータグになります。したがって、アンカータグをクリックすると、最初に上記のコードに移動します(addApointment-そのイベントを最初に実行します)が、ダイアログボックスを起動せずに、(MoreAppointment)イベントに直接移動してそのコードを実行します。そのコードが実行されると、「addApointment」からダイアログボックスが起動します。

アップデート2

これがhtmlの一部です。テーブル全体が少し大きく、すべてのセルが同じデータで繰り返されるため、テーブル全体をコピーしませんでした。必要に応じて投稿します。

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

actionscript-3 - フレックスのターゲットと現在のターゲットの違いは何ですか?

フレックスのターゲットと現在のターゲットの違いを教えてもらえますか?

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

javascript - HTML5データ属性を使用したMooToolsイベント委任

MooToolsのHTML5データ属性を使用してイベントを委任することは可能ですか?

私が持っているHTML構造は次のとおりです。

そして、属性を持つ子要素のみ<div id="parent">のすべてのクリックをリッスンするように設定したいと思います。data-selected

私が何か間違ったことをしている場合は私に知らせてください:

イベントは次のように設定されています。

ただし、クリックコールバックは、データ選択可能な属性が定義されているdivだけでなく、すべてのdivをクリックすると発生します。この例はhttp://jsfiddle.net/NUGD4/で見ることができます

回避策は、これをCSSクラスとして追加することです。これは委任で機能しますが、アプリケーション全体で使用されるデータ属性を使用できるようにしたいと思います。

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

javascript - Programmatically fired events not working with event delegation

Would really appreciate if anyone can help me figure out why I am unable to fire events programmatically when using event delegation in MooTools (from the Element.Delegation class).

There is a parent <div> that has a change listener on some child <input> elements. When the change event is triggered by user actions, the handler on the parent div gets triggered, but when I fire it programmatically with fireEvent on any child input, nothing happens. The basic setup is:

html

js

The event handler on the parent div does not get called. Any help is appreciated.


Related question: Do events triggered with fireEvent bubble at all in the DOM tree? My current hack is to dispatch the event natively which is working (but a hack nonetheless) - http://jsfiddle.net/SZZ3Z/1/

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

jquery - jQuery検証プラグインでのイベントデリゲートのカスタマイズ

現在、プロジェクトで使用するjQuery検証プラグインを設定しています。

デフォルトでは、処理用に自動的に設定されるイベントがいくつかあります。つまり、焦点を合わせたり外したり、すべての入力の火災検証でイベントをキーアップします。送信ボタンがクリックされたときにのみ起動するようにします。

この機能はプラグインに組み込まれているようで、これを行うのは困難です(プラグインコードを変更せずに、やりたいことではありません)。

プラグインコードのプロトタイプメソッドでeventDelegate関数呼び出しを見つけました。

プラグインからこれらの行を削除すると、結果が得られますが、これを実現するには、プラグインの外部で何かを実行したいと思います。

誰か助けてくれませんか?詳細が必要な場合はお知らせください。私はほとんど成功せずにグーグルを検索しました。

ありがとう

EDIT: I am basically trying to validate the form Only when the submit event is fired. By default, the plug-in validates every time focus is lost in an input control.

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

javascript - このJavaScriptコードをリファクタリングして、関数がループにならないようにするにはどうすればよいですか?

私が取り組んでいるプロジェクトのために、次のコードを書きました。

私がやろうとしていることは:

  • id2次元配列を定義します。各インスタンスには、属性値(「関連検索」など)と対応する説明(「関連検索」など)の2つの要素を含む内部配列が含まれます。
  • 内部配列ごとにdocument、対応する属性を持つ要素を見つけて、その中のすべての要素(ハイパーリンク)idのコレクションを収集します。<a>
  • onclickそのコレクションをループし、各ハイパーリンクにハンドラーをアタッチします。このハイパーリンクは、clicky.logに対応する説明id(たとえば、id「related-searches」の「Related Searches」)と要素のhref属性の値をパラメーターとして渡します。<a>それがクリックされました。

うまくいけば、それは完全に混乱していませんでした!コードはそれよりも自明かもしれません。

ここで実装したのはクロージャーだと思いますが、JSLintは次のように不平を言います。

http://img.skitch.com/20100526-k1trfr6tpj64iamm8r4jf5rbru.png

だから、私の質問は次のとおりです。

  • このコードをリファクタリングしてJSLintを快適にするにはどうすればよいですか?または、さらに良いことに、JSLintの考え方に関係なく、私が見逃しているこれを行うためのベストプラクティスの方法はありますか?
  • 代わりに、イベントの委任に依存する必要がありますか?つまり、配列内の属性を持つ要素にonclickイベントハンドラーをアタッチしてから、 ?私は以前にそれを行って理論を理解しましたが、詳細については非常に曖昧であり、これが実行可能なアプローチであると仮定して、それがどのように見えるかについてのガイダンスをいただければ幸いです。documentidevent.target

助けてくれてありがとう!

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

firefox-addon - FF サンドボックス内からのクリック イベントのトリガー

Firefox サンドボックス内からページの要素でクリック イベントをトリガーしようとしています。jQuery の .click() を使用してみました:

サンドボックスを介してブラウザのページでクリック イベントをトリガーできた人はいますか? DOM 要素は問題なく取得できますが、イベントのトリガーは別の話です。

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

jquery - jQuery 1.4 でのイベント委任

私は次のコードを持っています:

イベント委任とスピード パフォーマンスについて良いことを聞いたことがあります。jQuery のデリゲート メソッドを使用すると、次のようになると思います。

しかし、ドキュメントを読むと、この方法はライブ イベントを使用するようなものだと書かれています。そして、ライブ イベントを使用することは非効率的であることを常に理解していました。それで、誰かがこれのベストプラクティスについて教えてくれませんか?

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

jquery - post/get 後の jQuery ダブル イベント ファイア

わかりました、これが IE と最新バージョンの FF でなぜ起こっているのかを理解するために、頭と他の人を悩ませました。クロムで動作します。私は初心者の開発者で、最近jqueryを使い始めました。だから私はこれについて正しく行っているかどうかさえ知りません。

ほとんどの場合、その基本的なフォーム。jquery ajax post() と get() でページを更新します。ページが get から読み込まれると、右側のナビゲーション/サイドバーの折りたたみ可能な見出しが 2 回表示され、アクション ペインのアクション リンクも同様に表示されます。bind()、live()、および delegate() でクリック イベントをバインドしようとしました。もともとバインドで機能していましたが、ajax 呼び出しの後にすべてのクリック イベントを再バインドする必要があり、それを回避する方法を見つけようとしています。

ここで構築しているアプリの静的バージョンをセットアップしました。

http://ishiftdelete.com/pw_mkvi/ajax_wtf.htm

テストするには: 右側のナビゲーション/サイドバーのアクション ページ内にある [ページの編集] リンクをクリックします。これにより、フォームと送信ボタンのあるモデル ダイアログが開きます。