diff --git a/src/cdk/drag-drop/drag.ts b/src/cdk/drag-drop/drag.ts index 9b96fc065bf..a3bf0c813e3 100644 --- a/src/cdk/drag-drop/drag.ts +++ b/src/cdk/drag-drop/drag.ts @@ -670,10 +670,13 @@ export class CdkDrag implements AfterViewInit, OnDestroy { /** Gets the root draggable element, based on the `rootElementSelector`. */ private _getRootElement(): HTMLElement { if (this.rootElementSelector) { + const selector = this.rootElementSelector; let currentElement = this.element.nativeElement.parentElement as HTMLElement | null; while (currentElement) { - if (currentElement.matches(this.rootElementSelector)) { + // IE doesn't support `matches` so we have to fall back to `msMatchesSelector`. + if (currentElement.matches ? currentElement.matches(selector) : + currentElement.msMatchesSelector(selector)) { return currentElement; }