aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Compiler.js9
-rw-r--r--src/jqLite.js5
-rw-r--r--src/markups.js6
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>&nbsp;</span>');
+ var nbsp = newElement.html();
+ newElement.text(text.substr(1));
+ newElement.html(nbsp + newElement.html());
+ }
cursor.after(newElement);
cursor = newElement;
});