mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2026-03-13 10:22:08 +08:00
experiment w/ using classList to reduce DOM manipulations
This commit is contained in:
28
js/ext/angular/src/service/angularOverrides.js
vendored
Normal file
28
js/ext/angular/src/service/angularOverrides.js
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
|
||||
angular.element.prototype.addClass = function(cssClasses) {
|
||||
var x, el, existingClasses;
|
||||
if (cssClasses) {
|
||||
for(x=0; x<this.length; x++) {
|
||||
el = this[x];
|
||||
if(el.setAttribute) {
|
||||
|
||||
if(cssClasses.indexOf(' ') < 0) {
|
||||
el.classList.add(cssClasses)
|
||||
} else {
|
||||
existingClasses = (' ' + (el.getAttribute('class') || '') + ' ')
|
||||
.replace(/[\n\t]/g, " ");
|
||||
|
||||
angular.forEach(cssClasses.split(' '), function(cssClass) {
|
||||
cssClass = cssClass.trim();
|
||||
if (existingClasses.indexOf(' ' + cssClass + ' ') === -1) {
|
||||
existingClasses += cssClass + ' ';
|
||||
}
|
||||
});
|
||||
|
||||
el.setAttribute('class', existingClasses.trim());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return this;
|
||||
};
|
||||
Reference in New Issue
Block a user