Код обработчика событий jQuery внутри шаблона подчеркивания проблем с 2.2.3 / 2.2.4 - работает в 3.3.1 - PullRequest
0 голосов
/ 23 апреля 2019

Используя шаблон 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>
...