簡體   English   中英

jQuery.ajax在IE7 / 8中不起作用

[英]jQuery.ajax not working in IE7/8

我的腳本中的某些內容破壞了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如果您要查看頁面

謝謝Rich

新增中

e.preventDefault();

在第一個函數中的toggle_message之前應該起作用,盡管返回false也應該起作用。

我目前無法訪問IE,但我認為您可以嘗試防止在click()函數中觸發默認的click事件,如下所示:

$('.message .subject .subject_link').click(function(e) {
    toggle_message(e)
    e.preventDefault();
});

有關.preventDefault()的更多信息,請訪問: http ://api.jquery.com/event.preventDefault/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM