jQuery.ajax不能在IE7/8中工作
问题描述:
我的脚本中的某些东西正在破坏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,如果你要查看的网页
感谢 丰富
答
添加
e.preventDefault();
在第一功能应该工作toggle_message前,虽然回假也应该如此。
答
我没有获得IE浏览器,但现在我想你可以尝试阻止默认点击事件在点击火() - 函数像这样:
$('.message .subject .subject_link').click(function(e) {
toggle_message(e)
e.preventDefault();
});
更多关于.preventDefault()这里:http://api.jquery.com/event.preventDefault/
废话。我找到了。 – 2010-12-01 18:53:17
IE不使用console.log – 2010-12-01 18:53:33