jQuery Uncaught TypeError, но работает на другой странице

0

Я получаю следующее сообщение об ошибке в моей консоли: Изображение 174551

Это с этой страницы: http://mylzh.net/isaacBingo.php?seed=2jrxjc

Однако на исходной странице он работает: http://mylzh.net/bingo/bindingofisaac/index.html?seed=2jrxjc

  • 0
    у вас есть сценарий, как $(this).addClass("redsquare").removeClass("greensquare"); anywere
  • 0
    нам нужно увидеть контекст этого кода. где это определение функции появляется? Я не уверен, что this будет то значение, которое вы ожидаете, что будет либо?

1 ответ

1
Лучший ответ

Это из-за следующего кода

$("#bingo tr td:not(.bingo_select), #selected td").toggle(function () {
    $(this).addClass("greensquare");
}, function () {
    $(this).addClass("redsquare").removeClass("greensquare");
}, function () {
    $(this).removeClass("redsquare");
});

Эта версия .toggle() была удалена в jQuery 1.9.

Выполняя этот код, jQuery предполагает, что он является версией, которая принимает 3 параметра, такие как .toggle(duration [, easing] [, complete]), поэтому он считает второй аргумент (функцию) как easing значение и использует его внутри себя

return this.pos = b = this.options.duration ? o.easing[this.easing](a, this.options.duration * a, 0, 1, this.options.duration) : a, this.now = (this.end - this.start) * b + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), c && c.set ? c.set(this) : Kb.propHooks._default.set(this), this

В качестве решения посмотрите плагин toggleClick()

Ещё вопросы

Сообщество Overcoder
Наверх
Меню