Получение ошибки - функция не определена в моем скрипте - PullRequest
0 голосов
/ 14 мая 2018

есть ссылка ниже, пожалуйста, посмотрите на код, который у меня возникает в моей функции, даже если я определил ее и вызывал ее, но функция произнесения определена, но не используется.

function addDnDHandlers() {
    var coffeeimages = document.getElementsByClassName("productarticlewide");
    var shoppingcartDropZone = document.getElementById("shoppingcart");
    var shoppingcart = document.querySelectorAll("#shoppingcart ul")[0];

    for (var i = 0; i <= coffeeimages; i++) {
        coffeeimages[i].addEventListener("dragstart", function (ev) {
            ev.dataTransfer.effectAllowed = 'copy';
            ev.dataTransfer.setData("Text", this.getAttribute("id"));
        }, false);
    }

    shoppingcartDropZone.addEventListener("dragover", function (ev) {
        if (ev.preventDefault) ev.preventDefault();
        ev.dataTransfer.dropEffect = "copy";
        return false;
    }, false);

    shoppingcartDropZone.addEventListener("drop", function (ev) {
        if (ev.stopPropagation) ev.stopPropagation();

        var coffeeId = ev.dataTransfer.getData("Text");
        var element = document.getElementById(coffeeId);
        addCoffeeToShoppingCart(element, coffeeId);
        ev.stopPropagation();
        return false;
    }, false);

    function addCoffeeToShoppingCart(item, id) {
        var html = id + " " + item.getAttribute("data-price");
        var liElement = document.createElement('li');
        liElement.innerHTML = html;
        shoppingcart.appendChild(liElement);
    }
}

https://jsfiddle.net/b435pekf/

1 Ответ

0 голосов
/ 14 мая 2018

Вы получаете ошибку eslint, сообщающую, что вы определили функцию, которая не используется.

Это поможет вам сохранить ваш код в чистоте, указывая на устаревшие объекты.

Поскольку вы вызываете эту функцию из обработчика DOMContentLoaded, определенного в файле HTML, ваш eslint не знает об этом.

Вероятно, вы можете просто добавить определение обработчика событий в конец вашего файла скрипта, и все будет работать так, как вам нужно, и ваша ошибка eslint исчезнет:

function addDnDHandlers() {
    /* ... your code here ... */
}
document.addEventListener("DOMContentLoaded", addDnDHandlers, false);

В качестве альтернативы, вы можете добавить директивы в ваш код, которые скажут eslint игнорировать это нарушение правила в этом случае.

Игнорировать это правило во всем файле, добавив в начало директиву игнорирования:

/* eslint-disable no-unused-vars */ (not recommended)

... или игнорировать правило для конкретной строки:

function addDnDHandlers() { // eslint-disable-line no-unused-vars

Вам следует ознакомиться с правилами и конфигурациями, доступными в eslint: https://eslint.org/docs/user-guide/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...