diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Compiler.js | 9 | ||||
| -rw-r--r-- | src/jqLite.js | 5 | ||||
| -rw-r--r-- | src/markups.js | 6 |
3 files changed, 17 insertions, 3 deletions
diff --git a/src/Compiler.js b/src/Compiler.js index a762b5fd..96df88fb 100644 --- a/src/Compiler.js +++ b/src/Compiler.js @@ -182,10 +182,15 @@ function eachNode(element, fn){ } function eachAttribute(element, fn){ - var i, attrs = element[0].attributes || [], chld, attr, attrValue = {}; + var i, attrs = element[0].attributes || [], chld, attr, name, value, attrValue = {}; for (i = 0; i < attrs.length; i++) { attr = attrs[i]; - attrValue[attr.name] = attr.value; + name = attr.name; + value = attr.value; + if (msie && name == 'href') { + value = decodeURIComponent(element[0].getAttribute(name, 2)); + } + attrValue[name] = value; } foreachSorted(attrValue, fn); } diff --git a/src/jqLite.js b/src/jqLite.js index 53f52215..2d41a25c 100644 --- a/src/jqLite.js +++ b/src/jqLite.js @@ -29,7 +29,10 @@ function jqClearData(element) { removeEventListener(element, type, fn); }); delete jqCache[cacheId]; - delete element[jqName]; + if (msie) + element[jqName] = ''; // ie does not allow deletion of attributes on elements. + else + delete element[jqName]; } } diff --git a/src/markups.js b/src/markups.js index 4207d83f..e9c03217 100644 --- a/src/markups.js +++ b/src/markups.js @@ -43,6 +43,12 @@ angularTextMarkup('{{}}', function(text, textNode, parentElement) { } else { newElement = self.text(text); } + if (msie && text.charAt(0) == ' ') { + newElement = jqLite('<span> </span>'); + var nbsp = newElement.html(); + newElement.text(text.substr(1)); + newElement.html(nbsp + newElement.html()); + } cursor.after(newElement); cursor = newElement; }); |
