在Angular完成加载后运行jQuery

时间:2014-09-27 04:30:41

标签: javascript jquery html angularjs

  

我正在编写一些代码来略微修改现有网站。

     

现有网站是使用Angular构建的。我的代码使用的是jQuery,但我可以使用任何JavaScript。

     

但是,我无法更改现有网站。我无法更改现有的Angular脚本。我可以更改我的一个外部脚本文件,该文件是网站上的src。在加载Angular脚本和jQuery脚本之后,我的代码正在运行。

如何在Angular完成渲染DOM后运行我的jQuery代码?

$(document).ready()提前开火。

  

我从未使用过Angular,但是在线阅读,它看起来应该发出$viewContentLoading事件,但是我无法在我的脚本中捕获此事件。

谢谢,

1 个答案:

答案 0 :(得分:1)

你是对的。在尝试运行任何jQuery之前,您需要等待DOM加载!

这种简单而不安全的方法是在angualrjs中使用$timeoutSee the doc here

$timeout(function() {
    //your jQuery code here
}, 50);

这告诉angualrJs等待50毫秒然后执行函数内部的任何内容。 50毫秒应该是足够的时间 - 但如果页面加载缓慢,则可能需要增加它。

有更好的方法!

您应该查看directives以避免使用jQuery。