Uncaught TypeError: Object [object Object] не имеет метода 'on'

Может ли кто-нибудь помочь мне понять это?

Когда я использую последнюю (или новую) версию jQuery, маленький скрипт ниже работает нормально. Однако, когда я использую более старые версии jQuery, мой сценарий говорит, чтоon Функция не существует.

Вот мой скрипт, который не работает со старыми версиями jQuery:

$(document).ready(function () {
    $(".theImage").on("click", function(){
        // In the event clicked, find image, fade slowly to .01 opacity
        $(this).find("img").fadeTo("slow", .01).end()
        // Then, of siblings, find all images and fade slowly to 100% opacity
               .siblings().find("img").fadeTo("slow", 1);           
    })
})

Любая помощь приветствуется.

Ответы на вопрос(4)

Вы могли бы использоватьdelegate(), например:

$("table").delegate("td", "click", function() {
  $(this).toggleClass("chosen");
});

Это эквивалентно следующему коду, написанному с использованиемon():

$("table").on("click", "td", function() {
  $(this).toggleClass("chosen");
});

Изменитьon функция кbind:

.children().on("click",function()
to
.children().bind("click",function()

Решение Вопроса

Вы должны использоватьbind вместоon, какon был введен только вJQuery 1,7.

$(document).ready(function () {
    $(".theImage").bind("click", function(){
        // In the event clicked, find image, fade slowly to .01 opacity
        $(this).find("img").fadeTo("slow", .01).end()
        // Then, of siblings, find all images and fade slowly to 100% opacity
        .siblings().find("img").fadeTo("slow", 1);           
    })
})

Вы должны использовать jQuery версии 1.7+, чтобы использоватьon(). bind() устарела.

Ваш ответ на вопрос