diff options
| author | Misko Hevery | 2012-03-13 14:42:26 -0700 |
|---|---|---|
| committer | Misko Hevery | 2012-03-13 16:59:03 -0700 |
| commit | de9464c1431906883bdf180fb00615e6fa371577 (patch) | |
| tree | 5002990279d089cae2577ab98468217258455dec /src/service/compiler.js | |
| parent | 31cd5803102ba93f8b93cd5304aea4ade50f96ab (diff) | |
| download | angular.js-de9464c1431906883bdf180fb00615e6fa371577.tar.bz2 | |
f(compile): boolean attributes too agresive
- compiler would rewrite boolean attributes on all elements. This is too aggressive and interferes with some third-party frameworks
Diffstat (limited to 'src/service/compiler.js')
| -rw-r--r-- | src/service/compiler.js | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/service/compiler.js b/src/service/compiler.js index cefc2d81..8aba28e4 100644 --- a/src/service/compiler.js +++ b/src/service/compiler.js @@ -381,10 +381,10 @@ function $CompileProvider($provide) { attrs[nName] = value = trim((msie && name == 'href') ? decodeURIComponent(node.getAttribute(name, 2)) : attr.value); - if (BOOLEAN_ATTR[nName]) { + if (isBooleanAttr(node, nName)) { attrs[nName] = true; // presence means true } - addAttrInterpolateDirective(directives, value, nName) + addAttrInterpolateDirective(node, directives, value, nName) addDirective(directives, nName, 'A', maxPriority); } @@ -852,11 +852,11 @@ function $CompileProvider($provide) { } - function addAttrInterpolateDirective(directives, value, name) { + function addAttrInterpolateDirective(node, directives, value, name) { var interpolateFn = $interpolate(value, true); if (SIDE_EFFECT_ATTRS[name]) { name = SIDE_EFFECT_ATTRS[name]; - if (BOOLEAN_ATTR[name]) { + if (isBooleanAttr(node, name)) { value = true; } } else if (!interpolateFn) { @@ -921,7 +921,7 @@ function $CompileProvider($provide) { * @param {string=} attrName Optional none normalized name. Defaults to key. */ function attrSetter(key, value, attrName) { - var booleanKey = BOOLEAN_ATTR[key.toLowerCase()]; + var booleanKey = isBooleanAttr(this.$element[0], key.toLowerCase()); if (booleanKey) { value = toBoolean(value); |
