获取错误功能未在我的脚本中定义

时间:2018-05-14 17:15:40

标签: javascript html5 css3

下面有链接,请查看我在我的函数中遇到问题的代码,即使我已定义并调用它,但它的说法功能已定义但未使用。

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 :(得分:0)

您收到一个eslint错误,告知您已定义了一个未使用的功能。

这是为了帮助您通过指出过时的对象来保持代码清洁。

因为您是从HTML文件中定义的DOMContentLoaded处理程序调用此函数,所以您的eslint不会意识到这一点。

您可以将事件处理程序定义添加到脚本文件的底部,并且所有内容都可以根据需要运行,并且您的eslint错误将消失:

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

或者,您可以在代码中添加指令,告诉eslint在这种情况下忽略该规则违规。

通过在顶部添加ignore指令忽略整个文件中的此规则:

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

...或忽略特定行的规则:

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

您应该熟悉eslint中可用的规则和配置:https://eslint.org/docs/user-guide/