2015-02-21 3 views
-1

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

<script> 
     $(document).ready(function(){ 
    var $elements = $('body').children('div[class^=class]').on('click', function() { 
     $elements.removeClass('classname') 
       .not('.' + this.className) 
       .addClass('classname'); 
    }); 
    }); 
    </script> 

Сайт: http://sinfulgurotesque.tumblr.com/recs

Edit: Я удалил часть кода с веб-сайта, который не имел ничего общего с этой частью. (Это был устаревший код, и он не предлагает много с точки зрения функциональности в любом случае.)

+1

И эти устаревшие функции не имеют ничего общего с кодом в вашем вопросе. – jfriend00

ответ

2

Вы используете JQuery 1.10.1 на вашей странице, и ошибка, вы получаете:

jquery.style-my-tooltips.js:26 Uncaught TypeError: undefined is not a function

имеет в виду функции .live() используется плагин, который был удален в JQuery 1.9

$(".smt-current-element").live("mouseout mousedown click",function(){ 
0

похоже, вы вызываете depracated функции JS. Я получил:

TypeError: $(...).live is not a function

при открытии страницы. Попробуйте изменить .live() к .on()

Как так

$("body").on("mouseout mousedown click", ".smt-current-element", function(){...

+0

Вы не можете напрямую изменить '.live()' на '.on()'. При этом вы должны изменить структуру аргументов, потому что '.on()' принимает разные аргументы. – jfriend00

+0

Да, я обновил свой ответ, чтобы показать, как это сделать. – winhowes

Смежные вопросы