diff options
| author | Igor Minar | 2011-03-31 21:48:52 -0700 |
|---|---|---|
| committer | Igor Minar | 2011-03-31 21:48:52 -0700 |
| commit | cf1d365f577a99e11c0a619ab621564f258df299 (patch) | |
| tree | 9dfe95a732fcdeedb6d14200075ba1d0957f02f3 | |
| parent | 78a0f41058a3c8094cf3b8979baa212a3b88b2a6 (diff) | |
| download | angular.js-cf1d365f577a99e11c0a619ab621564f258df299.tar.bz2 | |
fix infinite loop in elementError when working with detached elements
| -rw-r--r-- | src/Angular.js | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/Angular.js b/src/Angular.js index e297905a..4849edf3 100644 --- a/src/Angular.js +++ b/src/Angular.js @@ -702,10 +702,19 @@ function isRenderableElement(element) { return name && name.charAt(0) != '#' && !includes(['TR', 'COL', 'COLGROUP', 'TBODY', 'THEAD', 'TFOOT'], name); } + function elementError(element, type, error) { + var parent; + while (!isRenderableElement(element)) { - element = element.parent() || jqLite(document.body); + parent = element.parent(); + if (parent.length) { + element = element.parent(); + } else { + return; + } } + if (element[0]['$NG_ERROR'] !== error) { element[0]['$NG_ERROR'] = error; if (error) { |
