Я использую ajax для добавления / удаления элементов на странице. Когда элемент добавляется / удаляется, отображается виджет предупреждений. Я использую атрибут data-mage-init для запуска js при нажатии элемента. При добавлении нового элемента с jquery как я могу сгенерировать его с атрибутом data-mage-init?
1) Когда элемент создается в шаблоне, атрибут data-mage-init не отображается на странице, и он работает . (Js запускается при нажатии элемента 'a').
Шаблон:
<div class="item">
<div class="item-content">
<div class="name"><?= $product['name']; ?></div>
<div class="sku"><?= $product['sku']; ?></div>
<div class="remove-action">
<a
data-mage-init='{"learningPath": <?= json_encode(['removeUrl' => $block->getUrl('corporate/learning/removeCourse'), 'productId' => $product['id']]) ?>}'
href="#" class="action secondary"><?= __('Remove'); ?></a>
</div>
</div>
Браузер:
![enter image description here](https://i.stack.imgur.com/oHMLS.png)
..but when I generate that element with js then data-mage-init attribute is visible and its not working. Here is my code:
Js file:
$('.path-builder-selection .selection-container').append("" +
"\n" + data['product']['name'] + "" +
""+ data['product']['sku'] + "" +
"" + data['remove_label'] + "\n" +
"");
Browser:
введите описание изображения здесь
Вывод: атрибут data-mage-init не анализируется, когда я создаю с ним новый элемент через js. Есть ли способ добавить элемент через js / jquery и добавить к нему атрибут data-mage-init. (Чтобы можно было удалить этот элемент позже, если потребуется, снова с помощью js, иначе я не могу удалить элемент, потому что data-mage-init не анализируется и js не запускается)