Используя шаблон underscore.js для заполнения Devextreme TileView, я заполняю шаблон на основе предоставленных данных, как обычно. Внутри шаблона я добавляю обработчик событий к кнопке, созданной шаблоном. Это прекрасно работает с использованием jQuery 3.3.1, но без ошибок разбивает 2.2.3 / .4, просто не применяет обработчик к кнопкам.
Я попытался переместить обработчик в событие onclick на кнопке. Я попытался переместить обработчик во внешнюю функцию в сценарии главной страницы и передать идентификатор.
<script type="text/html" id="tile-template">
...
<button class="addToCartBtn dxbButton btnCart" id="addToCartBtn_<%= item.Item_ID %>"><%= addToCartText %></button>
...
<% $(function(){ $('#addToCartBtn_' + item.Item_ID).on('click', (function(e){ e.preventDefault(); MakeAJAXCall('Cart.AddItemToCart', {Item_ID:item.Item_ID, Qty:getQty('addToCartQtyinput_' + item.Item_ID ), UOM:'P'}, VerifyAddToCart, 'addToCartBtn_' + item.Item_ID)}))}) %>
</script>