aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/jqLite.js16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/jqLite.js b/src/jqLite.js
index df878609..efe3ec31 100644
--- a/src/jqLite.js
+++ b/src/jqLite.js
@@ -215,7 +215,21 @@ function JQLiteData(element, key, value) {
}
cache[key] = value;
} else {
- return cache ? cache[key] : null;
+ if (isDefined(key)) {
+ if (isObject(key)) {
+ if (!cacheId) element[jqName] = cacheId = jqNextId();
+ jqCache[cacheId] = cache = (jqCache[cacheId] || {});
+ extend(cache, key);
+ } else {
+ return cache ? cache[key] : undefined;
+ }
+ } else {
+ if (!cacheId) element[jqName] = cacheId = jqNextId();
+
+ return cache
+ ? cache
+ : cache = jqCache[cacheId] = {};
+ }
}
}