我尝试使用JQuery JDialog向用户显示一些信息,但是,当对话框加载时,它会以某种方式重置当前用户的会话。当我评论“return false;”线。页面加载了信息,会话就在那里。
我环顾四周如何解决这个问题,但我没有找到任何解决方案。任何人都可以帮忙。
HTML:
$('.skill_ajax').click(function() {
var url = this.href;
var dialog = $('<div style="display:hidden"></div>').appendTo('body');
// load remote content
dialog.load(
url,
{},
function (responseText, textStatus, XMLHttpRequest) {
dialog.dialog();
}
);
//prevent the browser to follow the link
return false;
});
答案 0 :(得分:1)
将其更改为:
$('.skill_ajax').click(function(event) {
var url = this.href;
var dialog = $('<div style="display:hidden"></div>').appendTo('body');
// load remote content
dialog.load(
url,
{},
function (responseText, textStatus, XMLHttpRequest) {
dialog.dialog();
}
);
//prevent the browser to follow the link
event.preventDefault();
});
在这种情况下, return false
对我来说总是感觉像是黑客,特别是因为有一种专门为此用途而制作的方法,preventDefault()
。
答案 1 :(得分:1)
好吧,我解决了它的问题,我只是删除了空括号。
$('.skill_ajax').click(function() {
var url = this.href;
var dialog = $('<div style="display:hidden"></div>').appendTo('body');
// load remote content
dialog.load(
url,
function (responseText, textStatus, XMLHttpRequest) {
dialog.dialog();
}
);
//prevent the browser to follow the link
return false;});