diff options
| author | Elliott Sprehn | 2010-10-05 07:08:18 +0800 |
|---|---|---|
| committer | Misko Hevery | 2010-10-05 07:12:13 +0800 |
| commit | 8e40e7070d44d11332adc1426b7076c2be570b2b (patch) | |
| tree | a156cf8f4d9ef8adc4b3d0e5f7ca6ebc031c72ea /src | |
| parent | 81052d4a6269b25885bb3d9642fdf399cc1684e6 (diff) | |
| download | angular.js-8e40e7070d44d11332adc1426b7076c2be570b2b.tar.bz2 | |
Fix bug in IE where clone removes whitespace nodes.
Diffstat (limited to 'src')
| -rw-r--r-- | src/Angular.js | 4 | ||||
| -rw-r--r-- | src/directives.js | 2 | ||||
| -rw-r--r-- | src/widgets.js | 2 |
3 files changed, 6 insertions, 2 deletions
diff --git a/src/Angular.js b/src/Angular.js index 3e53c755..f7351bdc 100644 --- a/src/Angular.js +++ b/src/Angular.js @@ -153,6 +153,10 @@ if (msie) { }; } +function quickClone(element) { + return jqLite(element[0].cloneNode(true)); +} + function isVisible(element) { var rect = element[0].getBoundingClientRect(), width = (rect.width || (rect.right||0 - rect.left||0)), diff --git a/src/directives.js b/src/directives.js index 4443cc9d..d2d3bf2c 100644 --- a/src/directives.js +++ b/src/directives.js @@ -176,7 +176,7 @@ angularWidget("@ng:repeat", function(expression, element){ if (keyIdent) childScope[keyIdent] = key; } else { // grow children - childScope = template(element.clone(), createScope(currentScope)); + childScope = template(quickClone(element), createScope(currentScope)); childScope[valueIdent] = collection[key]; if (keyIdent) childScope[keyIdent] = key; lastElement.after(childScope.$element); diff --git a/src/widgets.js b/src/widgets.js index 24eba900..127718ce 100644 --- a/src/widgets.js +++ b/src/widgets.js @@ -320,7 +320,7 @@ var ngSwitch = angularWidget('ng:switch', function (element){ childScope = createScope(scope); foreach(cases, function(switchCase){ if (switchCase.when(childScope, value)) { - var caseElement = switchCase.element.clone(); + var caseElement = quickClone(switchCase.element); element.append(caseElement); childScope.$tryEval(switchCase.change, element); switchCase.template(caseElement, childScope); |
