問題タブ [custom-events]

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 に答える
433 参照

c# - コンボ ボックスの値の変化を監視する最も簡単な方法

コンボ ボックスの値の変化を追跡するエレガントな方法を探しています。私が探しているのは、SelectionChanged イベントが発生したときにカスタム イベントを発生させることですが、特定の値の変更に対してのみです。これは、初期値が何であったかを知ることを意味します。イベントは、初期値が z から変更された場合にのみ発生します。初期値が a、b、または c の場合、イベントは発生しません。ただし、初期値が z の場合は発火します。

この問題を解決するエレガントな方法はありますか?

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

flash - ステージに表示されないクラスのバブルでイベントをディスパッチする

メイン フレックス アプリケーションによってロードされる小さな swf as3 フラッシュ アプリケーションがあります。

メインの Flex アプリケーションには SWFLoader が含まれており、SWFLoader.content にイベント リスナーを追加して、準備したカスタム イベントをフェッチしました。

アプリケーションでいつでも関数dispatchEventを使用してイベントを作成し、イベントのバブル パラメータが true であることを確認します。この場合、イベントはイベント リスナーに到達するまでステージ内で泡立ち、イベントを適切に処理できます。

静的クラスがあり、そこからイベントをディスパッチしたい場合に問題が発生します。これは静的クラスであり、ステージに表示される表示オブジェクトではないため、バブルする場所がなく、メインのフレックス アプリケーションでもカスタムを取得できません。

次のコードで eventDispatcher を使用してみました:

カスタム イベントのコンストラクターは、パラメーターを 2 番目のパラメーターとして取得します。

そのため、イベント ディスパッチャーを使用している場合、イベントにはまだバブルする場所がないようです。そのため、メイン アプリケーションでもイベントを受信しません。

どうすれば問題を解決できますか? ステージに表示されないオブジェクトに対してイベントを適切にディスパッチできる必要があります。

main イベントのディスパッチに使用するために、この関数のステージに表示されるオブジェクトを提供する必要があります。この問題を解決するためのより良い解決策があることを願っています。

どんな情報でも大歓迎です。

これは私のカスタムイベントクラスです:

ここでわかるように、attrName と Val を配列に渡してカスタム イベントをディスパッチする setAttribute という静的関数があります。デフォルトでは、カスタム クラス イベントでバブルが有効になっています。ステージに表示されるオブジェクトを使用してイベントをディスパッチしなかったため、メインのフレックスアプリケーションからイベントを適切にキャッチすることを許可していないようです。

次のコードは機能します。

ありがとう

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

apache-flex - カスタムコンポーネントからカスタムイベントをディスパッチするFlex 4

これは、ここで尋ねられた質問に似ています。カスタム イベント「ShopEvent」をディスパッチしていますが、「Type Coercion failed: cannot convert flash.events::Event@81ecb79 to com.events.ShopEvent」というエラーが表示されます。

注: 親カスタム コンポーネント (3 番目のコード スニペット) からエラーがスローされます。そこに詳細を追加しました。

これは私のカスタム イベントです。最初の定数を参照してください。カスタム コンポーネントにイベント名をコピーして貼り付けました。

カスタム コンポーネント。メタデータ タグを確認します。イベントは正しく登録されました

親カスタム コンポーネント。これは、上記のカスタム コンポーネントの親コンポーネントです。menuSelected イベントをリッスンし、単にイベントをリスナーにルーティングします。metadata タグを確認します。イベント登録はきちんと行われています。

ただし、エラーが発生しています

私の知る限り、コードに問題はありません。それに何か問題がありますか?

アップデート

驚くべきことに、shopwevent の「新しい」インスタンスを作成すると問題は解決しますが、残念ながら、イベント オブジェクトのすべてのプロパティを閉じる必要があります。これがフレックスの制限ではないことを願っています。

完全なコード

0 投票する
6 に答える
1086 参照

jquery - jqueryでカスタムイベントを作成する方法

input に数値が入力されるたびにトリガーされるカスタム イベントを作成したいと考えていますtype="text"。アルファベットは無視してください。イベントはうまく機能しませんでしたchangeblur

助言がありますか?ありがとう。

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

scroll - jQuery スクロールスタート、スクロールストップ、および非常に高速なスクロールの問題

James Padolsey のカスタム イベントに問題がありscrollstartます。scrolltop

マウス ホイールを使用して 1 つの「ノッチ」をスクロールするか、スクロール バーを現在の位置のはるか下または上のどこかでクリックすると、突然大量にスクロールしscrollTop()ます。スクロールが開始された、またはスクロールが行われた方向。jsFiddleはこちらから入手できます(注: 解像度が非常に高い場合は、結果ウィンドウにスクロール バーが表示されるように HTML にテキストを追加する必要があります)。scrollstartscrolltop

HTML:

CSS:

JavaScript:

jsFiddle はこちらから入手できます

イベントの真のscrollTop()値を取得する方法についてのアイデアはありますか? scrollstartプラグインを変更することは私が推測するオプションなので、すべてのアイデアを歓迎します.

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

jquery - jqueryカスタムイベントの戻り値

jqueryカスタムイベントについてもっと学ぼうとしているので、テストを行うためにこの簡単なコードを作りました:

私の質問は: beforesend 関数で、トリガーされたカスタム イベントの結果が false であるが機能していない場合、ajax 要求を中止したいのですが、何が欠けていますか?

編集: beforesend 関数に注目しないでください。私が本当に欲しいのは、イベントが呼び出された場所 (この場合は send 関数の前) にカスタム イベントの結果 (true または false の例) を返す方法です。私が言ったように、これは単なる定型コードです。現実世界のプロジェクトではありません。

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

jquery - カスタム イベントの bind() または on() で jQuery トリガーが起動しない

このコードが機能しない理由を誰か教えてもらえますか?

jquery-1.7.2.minを使用しています。エラーは発生しません。何も起こりません。

コードをインラインスクリプト内に入れてみましたが$(document).ready()、まだ何もありません。私は両方on()とも試してみましたがbind()、どちらの結果もありませんでした。同じ構文を示す例をあちこちで見ますが、これと何が違うのでしょうか?

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

actionscript-3 - [Event(name="")]: カスタム イベントはどのように使用され、どのように機能しますか?

他の人が始めたプロジェクトに取り組まなければならないのですが、彼は現在国外にいるため連絡が取れません。ともかく。メインの mxml と「admin」と呼ばれるカスタム コンポーネントがあります。

admin で、彼は次のようなイベントを宣言しました。

コンポーネント内の特定の関数では、このイベントは次のように呼び出されます。

このイベント sluitFrame は、いくつかの管理ツールでフレームを閉じます。これが機能する方法を変更する必要があるため、対応するコードを見つけたいと思います。メインの mxml には次のコードがあります。

したがって、「verbergAdminComponent(event)」と呼ばれるカスタムへの sluitFrame 呼び出しを正しく理解していれば。したがって、管理フレームを閉じる方法などを変更するには、このイベントが必要だと思いますが、このイベントはどこにも見つかりません。そのため、「verbergAdminComponent(event)」がどのように機能するのか、またはこのイベントをどこで変更できるのかがわかりません。

どんな助けも大歓迎であり、非常に必要とされています:)

0 投票する
0 に答える
234 参照

actionscript-3 - Flex カスタム イベント - タイプ強制エラー - アプリケーション ドメイン関連?

私は自分の問題の答えを見てきました。正しい軌道に乗っていると思いますが、解決策を実装する方法がわかりません。私は助けが必要です。

クラス RootPackage.Utils.SelectableGraphic.as、ウィジェット RootPackage.Widgets.WidgetWithSelection.mxml、およびカスタム イベント RootPackage.Events.SelectableGraphicEvent があります。

SelectableGraphic は SelectableGraphicEvents をディスパッチし、WidgetWithSelection はそれらのイベントをリッスンします。私のイベントは次のようになります:

私のディスパッチは次のようになります。

そして、私のリスニング機能は次のように見えます:

リッスン関数に入る前に、WidgetWithSelection のディスパッチと受信の間でクラッシュします。基本的なイベントをリッスンするようにリスニング関数ヘッダーを変更すると、クラッシュしませんが、event.Graphic を取得しようとすると、同じタイプの強制エラーが発生します。通常のイベントを受け取り、それを SelectableGraphicEvent にキャストして使用するなど、多くの回避策を試しました。この場合、キャスト操作は null 値を返します。

タイプ強制エラーは次のようなものです: エラー #1034: タイプ強制に失敗しました: RootPackage.Events::SelectableGraphicEvent@b56b071 を RootPackage.Events.SelectableGraphicEvent に変換できません。

とにかく、これについて少し読んだことがありますが、これらのクラスがメインアプリケーションとは異なるアプリケーションドメインにあるためか、その影響が原因である可能性があると思います。どうやらアプリケーション ドメインを変更する方法があるようですが、これを行う方法がわかりません。おそらく最後の段落からわかるように、これは現時点で混乱しています。もっと簡単な答えはありますか、それとも私が何をすべきかを誰かに説明してもらえますか?

ありがとう、

ギルマン

編集して追加:

EventListener を追加した部分です。open() は Added_To_Stage イベントにあり、 close() は Remove_From_Stage イベントにあります。

基本的に、選択可能なグラフィックスを含むグラフィック レイヤーを含むマップがあります。そのため、SelectableGraphic からディスパッチすると、イベントはマップ (およびその先) にバブルアップします。マップはイベントをキャッチし、適切な SelectableGraphic_EventHandler を起動します。