我有一个相当大且复杂的 javascript 模块,用于我网站的多个页面。经过一番搜索和摆弄后,我想出了以下结构,以便在模块的一个功能在特定页面上运行时运行一些额外的代码。
// 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!' );
} );
我遇到的一个问题是,当我期望这个事件只触发一次时,它会快速连续触发 2-4 次。这是我用来触发和附加此事件的上述结构的问题,还是可能有其他问题?
另外,如何在不引用某些 DOM 对象的情况下将函数附加到事件?简单地使用 $.on() 是行不通的。
这是我在 Stack Overflow 上的第一篇文章。你们真是一个了不起的资源,我想开始回馈这个社区。