jQuery.ajax не работает в IE7 / 8 - PullRequest
0 голосов
/ 01 декабря 2010

Что-то в моем скрипте нарушает IE.

Я просматриваю коллекцию ссылок с классом и перехватываю URL.Нажатие на ссылку оживит высоту и покажет сообщение.Он также выполняет ajax-запрос, чтобы пометить сообщение как прочитанное.

Однако в IE он просто идет по URL-адресу, а не остается на странице и обрабатывает http-запрос.

$('.message .subject .subject_link').click(function(e) {

    toggle_message(e)
    return false;

});


function toggle_message(m) {

var link = m.target;
var parent = $(link).parent().parent();
console.log(link.href);
$.ajaxSetup({

    url: link.href,
    dataType: 'json',
    timeout: 63000,
    type: 'GET',
    cache: false

});

if($(parent).hasClass('unread')) {

    $(parent).addClass('read').removeClass('unread');

    $.ajax({

        complete: function(r, textStatus) {
            console.log(r.responseText)
        }

    });

}

if($(parent).find('.body_wrapper').hasClass('collapsed')) {
    $(parent).find('.body_wrapper').addClass('expanded').removeClass('collapsed');
    $(parent).find('.body_wrapper').animate({
            height: 'toggle'
    })
} else {
    $(parent).find('.body_wrapper').addClass('collapsed').removeClass('expanded');
    $(parent).find('.body_wrapper').animate({
            height: 'toggle'
    }) 
}

}

есть идеи, что является причиной этой проблемы?http://support.cooper.krd -design.net / тестер: 12345, если вы хотите просмотреть страницу

Спасибо, Рич

Ответы [ 2 ]

0 голосов
/ 01 декабря 2010

У меня нет доступа к IE сейчас, но я думаю, что вы можете попытаться предотвратить событие click по умолчанию, чтобы оно срабатывало в вашей click () - функция выглядит так:) здесь: http://api.jquery.com/event.preventDefault/

0 голосов
/ 01 декабря 2010

Добавление

e.preventDefault();

до toggle_message в первой функции должно работать, хотя также должно возвращаться false.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...