Вопрос

У меня есть эта скрипка http://jsbin.com/EvIYomiF/4/ и просто чтобы заметить на случай, если это имеет значение, javascript находится в двух файлах.

Хорошо..как вы можете видеть в демонстрации, область dom каким-то образом перезаписывается, и я хочу понять почему.Я имею в виду, что self= этот взлом, безусловно, плохая практика, но я не понимаю, почему он перезаписывается

Я не нахожу слов, чтобы описать проблему, прошу прощения за это, но скрипка - это единственный способ, который я нашел, чтобы легко объяснить свою проблему.

Это было полезно?

Решение

Все предположения о this это не имеет значения, и все ведут вас по ложному следу.

Проблема в том, что self не был изолирован с помощью var таким образом, она носит глобальный характер.Второй self перезаписывает первый.

Просто делая это var self=this заставляет все это работать.То, что вы сделали, является обычной практикой, направленной на то, чтобы избежать изменения контекста this внутри обработчика событий jQuery

ДЕМОНСТРАЦИЯ

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top