diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/jqLite.js | 8 | 
1 files changed, 6 insertions, 2 deletions
| diff --git a/src/jqLite.js b/src/jqLite.js index ba613f21..738f47a9 100644 --- a/src/jqLite.js +++ b/src/jqLite.js @@ -364,11 +364,15 @@ function jqLiteInheritedData(element, name, value) {    var names = isArray(name) ? name : [name];    while (element.length) { - +    var node = element[0];      for (var i = 0, ii = names.length; i < ii; i++) {        if ((value = element.data(names[i])) !== undefined) return value;      } -    element = element.parent(); + +    // If dealing with a document fragment node with a host element, and no parent, use the host +    // element as the parent. This enables directives within a Shadow DOM or polyfilled Shadow DOM +    // to lookup parent controllers. +    element = jqLite(node.parentNode || (node.nodeType === 11 && node.host));    }  } | 
