Обернуть Javascript в Jquery

Рейтинг: 1Ответов: 0Опубликовано: 27.03.2015
function init(){ // Ищем все поля ввода и назначаем обработчик
    NodeList.prototype.forEach = Array.prototype.forEach;
    document.querySelectorAll('.wrapper input[type="text"]').forEach(function(e){
        e.addEventListener('keyup', reCount, false);
    });
}

function reCount(){
    var parent = this.parentNode.parentNode;
    var count = this.value;
    if(/^(?:\D|\s)*$/.test(count)) // Если пусто или не цифра, то выходим
        return;
    var price = parent.querySelector('td:nth-child(2)').dataset.price;
    var disc = parent.querySelector('td:nth-child(4)').dataset.disc;
    var total = parent.querySelector('td:nth-child(5) strong');

    total.innerHTML = price * count - (price * count * disc); // Вычисляем итоговую цену за этот товар

    totalReCount(); // Запускаем глобальный пересчёт всех "Итого"
}

function totalReCount(){
    var totals = document.querySelectorAll('.wrapper tr:not([class="total"]) td:next- strong');
    var cost = 0;

    totals.forEach(function(item){
        cost += +item.innerHTML; // Пробегаемся по каждому "Итого" и прибавляем к итоговой цене
    });

    document.querySelector('.wrapper .total strong').innerHTML = cost; // Выводим общий чек
}

document.addEventListener('DOMContentLoaded', init, false);

Помогите завернуть это в $("body").on, т.к. скрипт присваивает обработчик после загрузки DOM, а у меня есть данные, которые динамически подгружаются на страницу, и они этим скриптом уже не обрабатываются. =(

Ответы

Ответов пока нет.