angular.js:11706 Error: [$rootScope:inprog] $digest already in progress
http://errors.angularjs.org/1.3.20/$rootScope/inprog?p0=%24digest
at angular.js:63
at beginPhase (angular.js:14924)
at Scope.$apply (angular.js:14668)
at HTMLDocument.<anonymous> (multiselect.js:162)
at HTMLDocument.dispatch (jquery.js:5206)
at HTMLDocument.elemData.handle (jquery.js:5014)
at repayQueryListCtr.js:135
at angular.js:9433
at processQueue (angular.js:13318)
at angular.js:13334

我这里报错是因为multiselect.js里有一段代码:

$document.on('click', function (e) {
var target = e.target.parentElement;
var parentFound = false;

while (angular.isDefined(target) && target !== null && !parentFound) {
if (_.contains(target.className.split(' '), 'multiselect-parent') && !parentFound) {
if(target === $dropdownTrigger) {
parentFound = true;
}
}
target = target.parentElement;
}

if (!parentFound) {
$scope.$apply(function () {
$scope.open = false;
});
}
});

为所有的文档节点都加了click事件,会调用$apply方法。
需要在自己的事件中调用event.stopPropagation();   event.stopPropagation() 方法阻止事件冒泡到父元素,阻止任何父事件处理程序被执行。

a.addEventListener("click", function() {
  event.stopPropagation();
}, false);

angular $digest already in progress的更多相关文章

  1. Error: [$rootScope:inprog] $digest already in progress

    我在 做一个 服务器分配成功以后需要更新 整个页面,我的思路是 更新成功以后,就手动的 触发一下 搜索按钮,但是在触发后,虽然成功刷新了页面,但是出现了一个 错误提示, Error: [$rootSc ...

  2. AngularJS中如何使用trigger报错$digest already in progress

    今天在使用trigger事件碰到问题: 例如我有两个按钮,button1和button2,在button2绑定了ng-click事件,现在想点击button1从而触发button2的ng-click事 ...

  3. $digest already in progress

    最近在写项目时经常遇到一个小问题,在上下文外改变视图,通常来说我们需要apply()便可以实现,问题是加了apply()后控制台报错:$digest already in progress:随后我把a ...

  4. angularJS中$digest already in progress报错解决方法

    看到一个前端群里有人问,就查了下解决"$digest already in progress"最好的方式,就是不要使用$scope.$apply()或者$scope.$digest ...

  5. $digest already in progress 解决办法——续

    什么时候手动调用$apply()方法? 如果AngularJS总是将我们的代码wrap到一个function中并传入$apply(),以此来开始一轮$digest循环,那么什么时候才需要我们手动地调用 ...

  6. $digest already in progress 解决办法

    Solution In short, instead of doing this: ... your controller code... $http.get('some/url', function ...

  7. [转]AngularJS: 使用Scope时的6个陷阱

    在使用AngularJS中的scope时,会有6个主要陷阱.如果你理解AngularJS背后的概念的话,这6个点其实非常的简单.但是在具体讲述这6个陷阱之前我们先要讲两个其它的概念. 概念1: 双向数 ...

  8. 多个 ng-app 中 Controllers & Services 之间的通信

    原文发布在个人独立博客上,链接:http://pengisgood.github.io/2016/01/31/communication-between-multiple-angular-apps/ ...

  9. Angularjs的$apply及其优化使用

    今天,我们要聊得是Angularjs中的小明星$apply.当我们数据更新了,但是view层却没反应时,总能听到有人说,用apply吧,然后,懵懂无知的我们,在赋值代码后面加了$scope.$appl ...

随机推荐

  1. [转] mongodb下载、安装、配置与使用

    记得在管理员模式下运行CMD,否则服务将启动失败. 详细图解,记录 win7 64 安装mongo数据库的过程.安装的版本是 MongoDB-win32-x86_64-2008plus-ssl-3.4 ...

  2. python之requests 乱七八糟

    1.预配置 import requests ss = requests.Session() ss.headers.update({'user-agent':'Mozilla/5.0 (Windows ...

  3. 学习之"setjmp和longjmp函数"

    Linux学习之"setjmp和longjmp函数"   转贴,原文地址:http://www.cnblogs.com/lq0729/archive/2011/10/23/2222 ...

  4. Python 事件驱动与异步IO

    一.事件驱动编程是一种编程范式,这里程序的执行流由外部事件来决定.它的特点是包含一个事件循环,当外部事件发生时使用回调机制来出发相应的处理.另外两种常见的编程范式是(单线程)同步以及多线程编程. 1. ...

  5. Android ADB命令 adb devices 出现error:protocol fault (no status)

    问题背景:安装apk是报error:protocol fault<no status>或error:device not found手机驱动有问题 出现的问题如下:adb devices ...

  6. AtCoder Regular Contest 094 (ARC094) CDE题解

    原文链接http://www.cnblogs.com/zhouzhendong/p/8735114.html $AtCoder\ Regular\ Contest\ 094(ARC094)\ CDE$ ...

  7. 给linux服务器添加一块新的磁盘

    http://www.linuxidc.com/Linux/2011-02/31868.htm 把硬盘装好后,我们用 fdisk -l 查看下: 图中可以看出 /dev/sdb 是500G,新加的硬盘 ...

  8. 008 在大数据中,关于native包的编译步骤

    一.问题的由来: 二.解决问题的方法(所有的操作在root下完成): 1.前期需要的环境,下面的已经在伪分布式中配置好,不再重复 配置好jdk 配置好hadoop 2.上传还需要包 apache-ma ...

  9. Python 解决 :NameError: name 'reload' is not defined 问题

    对于 Python 2.X: import sys reload(sys) sys.setdefaultencoding("utf-8") 1 2 3 对于 <= Pytho ...

  10. HDU 1010 Tempter of the Bone (DFS+可行性奇偶剪枝)

    <题目链接> 题目大意:一个迷宫,给定一个起点和终点,以及一些障碍物,所有的点走过一次后就不能再走(该点会下陷).现在问你,是否能从起点在时间恰好为t的时候走到终点. 解题分析:本题恰好要 ...