Может ли элемент Polymer добавить прослушиватель событий к своему родительскому элементу, находясь внутри теневой модели DOM?

Я хотел бы создать элемент контекстного меню, который автоматически добавляет contextmenu слушателя к его родительскому элементу (чтобы его можно было развернуть, щелкнув правой кнопкой мыши родительский элемент). Мне удалось это сделать, просмотрев this.parentNode, когда элемент находится в обычной иерархии DOM. Однако, находясь внутри теневого DOM, this.parentNode указывает на #document-fragment, и, похоже, нет способа преодолеть этот барьер. Что-то мне здесь не хватает?


person user2935300    schedule 01.05.2014    source источник
comment
Вы можете быть более конкретными? Если бы вы могли опубликовать иерархию DOM, которую вы тестируете, как когда ваш элемент расположен в легкой DOM, так и когда он вложен в корень Shadow, это было бы полезно.   -  person wvandaal    schedule 01.05.2014


Ответы (1)


похоже, нет способа пробить этот барьер

В Polymer есть свойство host на фрагменте документа Shadow DOM, которое указывает на элемент-владелец.

person Scott Miles    schedule 01.05.2014
comment
В некоторых случаях также важно отложить доступ к родительскому элементу до тех пор, пока полимерный проект .org / resources / faq.html # parentnode после attached(). - person ebidel; 01.05.2014