在 Angular 中注册 jquery 引发的事件



我在页面上java了一个jquery部分,可以触发某些自定义事件。 我页面的另一部分是一个 Angular 应用程序。我尝试在角度应用程序的控制器中注册到 jquery 事件:jquery 代码确实:

$("body").trigger("customEvent",data); 

并且在控制器中注册到它的角度如下所示:

$("body").on('customEvent',function(event,data) {alert("here"); }); 

但在正常流程中,我没有得到事件。 奇怪的是,当我尝试在控制台中执行相同的 $("body").trigger...调用角度处理程序。有人知道如何做到这一点吗?不幸的是,我无法将jquery部分更改为角度,或者相反。

我认为正文在角度代码准备就绪之前触发事件。一种可能的解决方案是在超时时调用触发器事件代码,如下所示:

setTimeout(function(){
   $("body").trigger("customEvent",data); 
}, 500);

我认为这应该可以解决您的问题。

最新更新