Функция jquery не работает только в IE7 - PullRequest
1 голос
/ 23 августа 2011

У меня есть следующий код jquery:

$(function() {
    $('.sliding-buttons').click(slidingContent);
});

function slidingContent(e) {
    var boxID = $(this).attr('id'),
        boxName = $(this).attr('name');

    $('.sliding-holder#s-h-' + boxName).css({'display' : 'block'}).addClass('open');
    $('.sliding-content#s-c-' + boxName + '-' + boxID).css({'display' : 'block'}).addClass('open');
    $('.sliding-box#s-b-' + boxName).stop(true, true).animate({
        top:'0'
        },'slow');

    e.stopPropagation();
    e.preventDefault();
}

Он работает во всех браузерах, кроме, естественно, IE7.В IE7 не удается остановить распространение.

Я использую последнюю версию jquery (1.6.2), но также пробовал 1.5.2.

Я действительно в растерянности;нет запятых (которые я вижу ...), и я не могу найти проблему.Буду очень признателен за помощь!

MTIA.

Ответы [ 2 ]

1 голос
/ 23 августа 2011

Я просто догадываюсь ... можете ли вы попробовать таким образом ...

$(function() {
    $('.sliding-buttons').click(function(e){
         var boxID = $(this).attr('id'),
        boxName = $(this).attr('name');

    $('.sliding-holder#s-h-' + boxName).css({'display' : 'block'}).addClass('open');
    $('.sliding-content#s-c-' + boxName + '-' + boxID).css({'display' : 'block'}).addClass('open');
    $('.sliding-box#s-b-' + boxName).stop(true, true).animate({
        top:'0'
        },'slow');

    e.stopPropagation();
    e.preventDefault();

   });
});

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

$('.sliding-buttons').click( slidingContent(e) );
0 голосов
/ 23 августа 2011

Если slideContent - это функция, вы можете рассматривать ее как функцию, используя скобки, вызывая ее.Кроме того, поскольку вы ссылаетесь на исходное событие внутри функции slideContent, вам может потребоваться передать событие как параметр функции (хотя я не уверен в этом, поскольку я никогда не использовал такие события, как вы.

$('.sliding-buttons').click( slidingContent(e) );
...