Я хотел бы создать элемент контекстного меню, который автоматически добавляет contextmenu
слушателя к его родительскому элементу (чтобы его можно было развернуть, щелкнув правой кнопкой мыши родительский элемент). Мне удалось это сделать, просмотрев this.parentNode
, когда элемент находится в обычной иерархии DOM. Однако, находясь внутри теневого DOM, this.parentNode
указывает на #document-fragment
, и, похоже, нет способа преодолеть этот барьер. Что-то мне здесь не хватает?
Может ли элемент Polymer добавить прослушиватель событий к своему родительскому элементу, находясь внутри теневой модели DOM?
comment
Вы можете быть более конкретными? Если бы вы могли опубликовать иерархию DOM, которую вы тестируете, как когда ваш элемент расположен в легкой DOM, так и когда он вложен в корень Shadow, это было бы полезно.
- person wvandaal   schedule 01.05.2014
Ответы (1)
похоже, нет способа пробить этот барьер
В Polymer есть свойство host
на фрагменте документа Shadow DOM, которое указывает на элемент-владелец.
person
Scott Miles
schedule
01.05.2014
В некоторых случаях также важно отложить доступ к родительскому элементу до тех пор, пока полимерный проект .org / resources / faq.html # parentnode после
attached()
.
- person ebidel; 01.05.2014