2010-12-01 110 views
0

我的脚本中的某些东西正在破坏IE。jQuery.ajax不能在IE7/8中工作

我正在寻找与类的链接集合,并劫持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,如果你要查看的网页

感谢 丰富

+0

废话。我找到了。 – 2010-12-01 18:53:17

+0

IE不使用console.log – 2010-12-01 18:53:33

回答

0

添加

e.preventDefault();

在第一功能应该工作toggle_message前,虽然回假也应该如此。

0

我没有获得IE浏览器,但现在我想你可以尝试阻止默认点击事件在点击火() - 函数像这样:

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

更多关于.preventDefault()这里:http://api.jquery.com/event.preventDefault/

相关问题