<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A3%D0%BA%D0%B0%D0%B6%D0%B8%D1%82%D0%B5_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE_%D0%BF%D1%80%D0%B5%D0%B4%D0%BA%D0%B0_%D0%B4%D0%BB%D1%8F_%D0%B2%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B9_%D1%81_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D0%B5%D0%BC</id>
	<title>Укажите логического предка для взаимодействий с пользователем - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A3%D0%BA%D0%B0%D0%B6%D0%B8%D1%82%D0%B5_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE_%D0%BF%D1%80%D0%B5%D0%B4%D0%BA%D0%B0_%D0%B4%D0%BB%D1%8F_%D0%B2%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B9_%D1%81_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D0%B5%D0%BC"/>
	<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%A3%D0%BA%D0%B0%D0%B6%D0%B8%D1%82%D0%B5_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE_%D0%BF%D1%80%D0%B5%D0%B4%D0%BA%D0%B0_%D0%B4%D0%BB%D1%8F_%D0%B2%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B9_%D1%81_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D0%B5%D0%BC&amp;action=history"/>
	<updated>2026-09-16T13:25:56Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=%D0%A3%D0%BA%D0%B0%D0%B6%D0%B8%D1%82%D0%B5_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE_%D0%BF%D1%80%D0%B5%D0%B4%D0%BA%D0%B0_%D0%B4%D0%BB%D1%8F_%D0%B2%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B9_%D1%81_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D0%B5%D0%BC&amp;diff=6575&amp;oldid=prev</id>
		<title>IKuznetsov: Новая страница: «= Укажите логического предка для взаимодействий с пользователем =  &#039;&#039;&#039;Ранний доступ&#039;&#039;&#039;  По умолчанию &#039;&#039;&#039;JavaScript&#039;&#039;&#039;-код &#039;&#039;&#039;RUM&#039;&#039;&#039; обходит иерархию родительских элементов &#039;&#039;&#039;DOM&#039;&#039;&#039; для сбора унаследованных атрибутов, таких как &lt;code&gt;data-dt-component&lt;/code&gt;, &lt;code&gt;data-dt-features&lt;/code&gt;, &lt;code&gt;data-dt-c...»</title>
		<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%A3%D0%BA%D0%B0%D0%B6%D0%B8%D1%82%D0%B5_%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE_%D0%BF%D1%80%D0%B5%D0%B4%D0%BA%D0%B0_%D0%B4%D0%BB%D1%8F_%D0%B2%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B9_%D1%81_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D0%B5%D0%BC&amp;diff=6575&amp;oldid=prev"/>
		<updated>2026-08-19T15:51:15Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «= Укажите логического предка для взаимодействий с пользователем =  &amp;#039;&amp;#039;&amp;#039;Ранний доступ&amp;#039;&amp;#039;&amp;#039;  По умолчанию &amp;#039;&amp;#039;&amp;#039;JavaScript&amp;#039;&amp;#039;&amp;#039;-код &amp;#039;&amp;#039;&amp;#039;RUM&amp;#039;&amp;#039;&amp;#039; обходит иерархию родительских элементов &amp;#039;&amp;#039;&amp;#039;DOM&amp;#039;&amp;#039;&amp;#039; для сбора унаследованных атрибутов, таких как &amp;lt;code&amp;gt;data-dt-component&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;data-dt-features&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;data-dt-c...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Укажите логического предка для взаимодействий с пользователем =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ранний доступ&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
По умолчанию &amp;#039;&amp;#039;&amp;#039;JavaScript&amp;#039;&amp;#039;&amp;#039;-код &amp;#039;&amp;#039;&amp;#039;RUM&amp;#039;&amp;#039;&amp;#039; обходит иерархию родительских элементов &amp;#039;&amp;#039;&amp;#039;DOM&amp;#039;&amp;#039;&amp;#039; для сбора унаследованных атрибутов, таких как &amp;lt;code&amp;gt;data-dt-component&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;data-dt-features&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;data-dt-children-name&amp;lt;/code&amp;gt;, и маскирование. Когда элементы пользовательского интерфейса отображаются вне своего логического родителя в &amp;#039;&amp;#039;&amp;#039;DOM&amp;#039;&amp;#039;&amp;#039; — например, модальные окна, выпадающие списки и всплывающие подсказки, использующие порталы, — этот обход может упустить предполагаемый контекст.&lt;br /&gt;
&lt;br /&gt;
Используйте атрибут &amp;lt;code&amp;gt;data-dt-ancestor&amp;lt;/code&amp;gt; для переопределения связи «родитель-предок» в &amp;#039;&amp;#039;&amp;#039;DOM&amp;#039;&amp;#039;&amp;#039; с логическим родительским элементом. Установите его значение равным &amp;#039;&amp;#039;&amp;#039;CSS&amp;#039;&amp;#039;&amp;#039;-селектору, который однозначно идентифицирует предполагаемый логический элемент-предок.&lt;br /&gt;
&lt;br /&gt;
== Варианты использования ==&lt;br /&gt;
&lt;br /&gt;
* Модальные окна и диалоговые окна, отображаемые в корневом каталоге документа и логически относящиеся к определенному компоненту.&lt;br /&gt;
* Выпадающие меню, использующие порталы, которые отображаются вне элемента-триггера.&lt;br /&gt;
* Всплывающие подсказки и всплывающие окна расположены совершенно вне своего логического контекста.&lt;br /&gt;
* Любой шаблон пользовательского интерфейса, в котором структура &amp;#039;&amp;#039;&amp;#039;DOM&amp;#039;&amp;#039;&amp;#039; отличается от логической иерархии компонентов.&lt;br /&gt;
&lt;br /&gt;
== Затронутые атрибуты ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;data-dt-ancestor&amp;lt;/code&amp;gt; влияет на все унаследованные атрибуты: &amp;lt;code&amp;gt;data-dt-component&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;data-dt-features&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;data-dt-children-name&amp;lt;/code&amp;gt;, и маскирование.&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
&lt;br /&gt;
* Модальное окно отображается вне своего логического родительского окна.&lt;br /&gt;
* Выпадающее меню с порталом &amp;#039;&amp;#039;&amp;#039;React&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Маскировка наследования через логического предка.&lt;br /&gt;
&lt;br /&gt;
== Поведение и ограничения ==&lt;br /&gt;
&lt;br /&gt;
* Чтобы предотвратить бесконечные циклы, перенаправление &amp;lt;code&amp;gt;data-dt-ancestor&amp;lt;/code&amp;gt; выполняется только один раз во время обхода родительских элементов. После выполнения одного логического перенаправления родительского элемента последующие атрибуты &amp;lt;code&amp;gt;data-dt-ancestor&amp;lt;/code&amp;gt; игнорируются, и обход продолжается через отношения родительских элементов &amp;#039;&amp;#039;&amp;#039;DOM&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Если селектор недействителен или не соответствует ни одному элементу, обход останавливается в этой точке. Обратный ход к родительскому элементу &amp;#039;&amp;#039;&amp;#039;DOM&amp;#039;&amp;#039;&amp;#039; не предусмотрен.&lt;br /&gt;
* Если селектор соответствует нескольким элементам, используется первый элемент в порядке следования элементов &amp;#039;&amp;#039;&amp;#039;DOM&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Обход пересекает открытые границы теневого &amp;#039;&amp;#039;&amp;#039;DOM&amp;#039;&amp;#039;&amp;#039;. Закрытые теневые корни блокируют обход.&lt;br /&gt;
&lt;br /&gt;
== Поиск неисправностей ==&lt;br /&gt;
&lt;br /&gt;
При возникновении проблем с селектором &amp;lt;code&amp;gt;data-dt-ancestor&amp;lt;/code&amp;gt; в событие включаются диагностические поля:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Значение ошибки !! Причина !! Исход&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;not_found&amp;lt;/code&amp;gt; || Селектор не соответствует ни одному элементу || Остановки во время обхода; дальнейшие предки не были собраны.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;invalid_selector&amp;lt;/code&amp;gt; || Селектор имеет неправильную форму. || Остановки во время обхода; дальнейшие предки не были собраны.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;multiple_indirection&amp;lt;/code&amp;gt; || Вторая &amp;lt;code&amp;gt;data-dt-ancestor&amp;lt;/code&amp;gt; встреча после того, как уже следовал за первой. || Обход продолжается через родительский элемент &amp;#039;&amp;#039;&amp;#039;DOM&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Диагностические поля &amp;lt;code&amp;gt;dt.support.ui_element.ancestor.error&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;dt.support.ui_element.ancestor.selector&amp;lt;/code&amp;gt; включаются в зафиксированное событие для устранения неполадок. Спецификации полей см. в разделе «Взаимодействие с пользователем» в семантическом словаре.&lt;/div&gt;</summary>
		<author><name>IKuznetsov</name></author>
	</entry>
</feed>