問題タブ [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.
javascript - カスタム JQuery イベントが 1 つの場所で発火し、別の場所では発火しない
これはおそらく、イベントがどのように機能するかについての私自身の無知にすぎませんが、誰かがこれを説明できますか: カスタム イベントは関数の先頭では発生しませんが、その関数内のコールバックで発生します。
次のように動作します (カスタム イベントが発生します)。
以下は機能しません (カスタム イベントは発生しません)。
イベントバインディングは次のとおりです。
私は本当にそれが関数の一番上で起動することを望んでいます。どんな助けでも大歓迎です!
注: これはブラウザー間で同じ問題であり、余分なデータ引数の有無にかかわらずです。
javascript - プロトタイプでのネイティブイベントとカスタムイベントのバインドとトリガー
プロトタイプのイベントに少し問題があります。
ネイティブイベントをバインドして起動しようとしています:onhashchange
、、onpopstate
。私のカスタムイベントと同様に:statechange
とanchorchange
。これらのイベントはすべてwindow
要素に対するものです。
これが私が運が悪かったのですでに試したコードです:
どんな助けでもいただければ幸いです。
actionscript-3 - パラメータ変数が割り当てられている場合にのみ関数を実行するにはどうすればよいですか?
readFileイベントがimportDataのコンテンツを更新するまで、parseCSVコマンドの実行を待つ方法が必要です。カスタムイベントディスパッチャについていくつか見てきましたが、自分の状況でそれらを使用する方法を完全に理解することはできません。
jquery - jQueryカスタムイベントシーケンス
カスタムJSオブジェクトを作成しています。このオブジェクトはいくつかを実行しますaction
。action
実行され、すでに実行されているオブジェクトを(カスタムイベントをトリガーすることによって action
)コンシューマーに通知できるようにしたい。onBeforeAction
(この動作モデルは、コントロールにイベントがあるASP.NETで知られていonAfterAction
ます)。
トリッキーな部分は、コンシューマーがイベントシーケンスを停止/中断できるようにすることです。
望ましい動作のアルゴリズム(Human#)は次のとおりです。
私のオブジェクトにこの機能があると、コンシューマーは次のようなことを行うことができます。
「制御可能な」イベントシーケンスを実装する方法についてのアイデアは素晴らしいでしょう。
前もって感謝します。
// R
google-analytics - Google アナリティクスでカスタム イベントを引き起こしたページを追跡する方法
Google アナリティクスによって追跡されている複数のページがあります。これらすべてのページに、カスタム イベントを作成するための呼び出しを行うアウトバウンド リンクがあります。アクションは、すべてのページで同じ名前です。
このイベントが発生した原因となったページの内訳を確認するにはどうすればよいですか。いえ
ページ 1 - アウトバウンド リンクの 7 回クリック、ページ 2 - アウトバウンド リンクの 2 回クリック、ページ 3 - アウトバウンド リンクの 1 回クリック、ページ 4 - アウトバウンド リンクの 19 回クリック
ありがとう!
google-analytics - Google Analyticsのカスタムイベントデータにどのようにドリルインしますか?
人々はGoogleAnalyticsデータを掘り下げるために何を使用しますか?
たとえば、カスタムイベントを追跡するWebページがあります。いくつかの指標を追跡したいと思います。
1)そのページのユーザーの何パーセントが少なくとも1回はイベントを正常に呼び出していますか?
2)次のように、ユーザーがページ上(またはセッション中など)にイベントを呼び出した回数のバケットを確認するにはどうすればよいですか。
理想的には、このデータを定期的に電子メールで送信し、おそらく2番目の部分のグラフを添えて送信します。提案?
javascript - jquery ui-(スライダー)カスタムイベントバインディングが機能しない
カスタム イベントがトリガーされず、正しく動作しない理由を理解するのに少し問題があります... カスタム イベントは各列にアタッチする必要があります。スライダーを 1 つの列のみにバインドするにはどうすればよいですか (以下の cols オブジェクト)。 ? 現在のコードでは、任意の列をクリックすると、すべての列のサイズが変更されます...
小さな div 内で開くスライダーを使用してテーブル列のサイズを動的に変更しようとしています。テーブルをクリックすると、小さなダイアログが読み込まれ、現在のすべての列幅を取得してイベント ハンドラーを追加するコードは次のとおりです。
テーブル:
スライダー:
jquery - Javascript/jQueryのカスタムイベントトリガーに無名関数を渡す
DOM要素でカスタムイベントをトリガーし、イベントがトリガーされたときに実行される無名関数を渡そうとしています(jQueryを使用)。だからこのようなもの:
したがって、「some-button」をクリックすると、「some-dom」で「custom_event」がトリガーされ、トリガーに渡した匿名関数が実行されます。右?しかし、ブラウザは、カスタムイベントでコールバックが未定義であると言っています。私は何か間違ったことをしていますか?トリガー引数として無名関数を渡すことは許可されていませんか?ありがとう
javascript - jQuery でカスタム イベントがバインドされているときにコードをトリガーする
JQuery はカスタム イベントを強力にサポートしています - .bind("foo", function(e)...
. しかし、イベントをトリガーするメカニズムがまだ準備できておらず、イベントがバインドされている要素でのみ構築する必要がある場合はどうなるでしょうか?
たとえばscrollin
、要素がビューポートにスクロールされたときに発生するイベントが必要です。これを行うには、onscroll
すべての要素とtrigger
scrollin
、ビューポートの外側にあり、現在は内側にある要素をチェックする必要があります。これは受け入れられません。
高速化にはコツがあります。たとえば、このプラグインの 1 つは「private」のすべての要素をチェックし、イベントがバインドさ$.cache
れている要素のみをチェックします。scrollin
しかし、それはまた醜いです。私が必要とするのは、要素を何らかのキャッシュ配列に入れることである、スクロール管理を処理するイベントのバインディングのための追加のコールバック (処理のためのコールバックに追加) です。elementsCheckOnScrol
私は次のようなものを探しています:
編集:これはいいAPIでしょう!
:-)
jquery - Web サイトと Google Chrome 拡張機能の間で JavaScript でパブリッシュ/サブスクライブの「パターン」を実装するにはどうすればよいですか?
Web サイトと Google Chrome 拡張機能の間に pub/sub パターンを実装しようとしています。これまでの私の実験のほとんどは、強力なバインド/トリガー構文のために jQuery を使用してきましたが、ほとんど運がありませんでした。
背景: 私は、オープン ソースの Ruby/Rails ベースの Pomodoro Technique 実装に取り組んでいます。jQuery の $.trigger 構文を使用してアクティビティを公開するようにサイトのコードを変更し、タイマー セッションの開始とタイマー セッションの終了に関する監視可能なイベントを公開しました。これらのトリガーは、実行を jQuery イベント コードにトレースできる限り機能します。したがって、このサイトはいくつかの関連イベントの発行者です。
jquery をロードし、.bind() 構文を使用して、サイトによって公開されているカスタム イベントにバインドすることにより、トランザクションのリスナー/サブスクライバー エンドを Google Chrome 拡張機能に実装しました。サイトの拡張機能が読み込まれており、サイトの URL 内のすべてのパスに対して権限が設定されています。
パブリケーション側からは、 $.event.trigger() と $(document).trigger() の両方を可能な限り一般的にしようとしました。サブスクライバー側では、いくつかの関連要素にバインドしようとしましたが、最も一般的なものは$(ドキュメント).バインド()
拡張機能のバインド呼び出しが実行された後に実行を一時停止してカスタム イベント バインディングを観察すると、console.dir($(document).data('events')); の結果が分析されます。サブスクライブしようとしているカスタム イベントがリストに表示されます。
ただし、 console.dir($(document).data('events')); の結果を分析すると Web サイト側でカスタム イベントをトリガーする直前に、必要なイベント ハンドラーがリストに表示されません。
これがどのように機能するかについて明らかな何かが欠けていますか?
ps変更をトリガーする要素の「クリック」イベントに直接バインドすると、拡張コードは完全に機能しますが、実行中にサイトのDOMが変更されるため、バインドがすぐに壊れるので、それを望んでいましたある種の pub-sub メカニズムの方が賢明かもしれません。
編集
@ChrisNZL の回答に対する私の回答で述べたように、.bind() の代わりに .live() を試してみましたが、同じ動作が見られました。