サイトの複数のページで使用されている、かなり大きくて複雑な JavaScript モジュールがあります。少し検索していじった後、モジュールの関数の 1 つが特定のページで実行されたときに追加のコードを実行するために、次の構造を思いつきました。
// within module definition that is used across multiple pages
function some_module_method(){
$.event.trigger( 'custom_event' );
}
// bit of functionality that I'm trying to add to a single page
$( '#some-element' ).on( 'custom_event', function(){
console.log( 'The custom event has just been triggered!' );
} );
私が抱えている問題の 1 つは、このイベントが 1 回だけトリガーされることを期待しているときに、2 ~ 4 回続けてオフになることです。これは、このイベントをトリガーしてアタッチするために使用している上記の構造の問題ですか、それともおそらく他の何かですか?
また、DOM オブジェクトを参照せずに関数をイベントにアタッチするにはどうすればよいですか? $.on() を使用するだけでは機能しません。
これは、スタック オーバーフローに関する私の最初の投稿です。皆さんは素晴らしいリソースです。このコミュニティに恩返しをしたいと思います。