Почему эта функция вызывает «строгую» ошибку в JavaScript? - PullRequest
0 голосов
/ 25 сентября 2018

Я хочу иметь функцию, которая вызывается при загрузке страницы, эта функция затем добавляет слушателей в тег div на странице, слушатели меняют глобальную переменную в моем файле javascript на true или false, ноЯ не могу сделать это, так как при попытке сделать это я получаю сообщение о строгой функции.

Браузер: Chrome

Ошибка:

TypeError: свойства 'caller', 'callee' и 'arguments' не могут быть доступны для функций строгого режима или объектов аргументов для их вызова

Просмотр кода:

<script>
$(document).ready(function () {
    var imgs = document.querySelectorAll(".cut-images");
    [].forEach.call(imgs, function (img) {
        img.addEventListener("dragstart", dragStart, false);
        img.addEventListener("dragend", dragEnd, false);
    });
});

Javascript:

    var isOnDiv = false;

function dragStart(e) {
    this.style.opacity = "0.4";

        document.getElementById("chuckImage").addEventListener("mouseenter", function () { isOnDiv = true; });
        document.getElementById("chuckImage").addEventListener("mouseout", function () { isOnDiv = false; });



    e.dataTransfer.effectAllowed = "move";
}

    function dragEnd(e) {

        if (isOnDiv === true)
            alert("ding");
        this.style.opacity = "1.0";
    }

Кто-нибудь знает, почему моя функция может выдавать эту ошибку?

1 Ответ

0 голосов
/ 26 сентября 2018

В вашем файле js используются несколько строк, как показано ниже:

 'use strict'; 

, по этой причине что-то нарушено в строгом режиме и возникла ошибка.

вы можете увидеть более подробную информацию здесь ...

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