2010-07-03 110 views
0

嗨伙计这是简单的安静,但不知道如何去做。Jquery .load需要页面刷新,但也返回false - 帮助

我加载页面转换成一个div一个简单的像这样:

$('.pageLink').click(function() { 
var pagetoload = ($(this).attr('href').substring(5)); 
$('#adminArea').load(pagetoload+'.php'); 
return false; 
}); 

,在所有工作没有probs。唯一的一点是,我正在使用CKEditor加载页面的“几个”,并在所有页面中显示CKEditor,它似乎需要页面刷新我知道这是完全错误,并不工作(显然),但它会给你一个想法是什么是需要的,只是如何实现它 - 如果可能的话。

$('.pageLink').click(function() { 
var pagetoload = ($(this).attr('href').substring(5)); 
return true; 
$('#adminArea').load(pagetoload+'.php'); 
return false; 
}); 

有什么想法吗? - 在此先感谢

+0

我很困惑.... – Reigel 2010-07-03 06:53:36

+0

Reigel嗨 - 不是唯一的一个! :) – user351657 2010-07-03 06:59:52

+0

似乎CK编辑器需要有一个“清晰”的页面 - 我认为这真的意味着一个清晰的/新的DOM – user351657 2010-07-03 07:00:39

回答

0

实施CKE时,您必须使用下面的代码段。

CKEDITOR.replace('editor1'); 

当您从Ajax访问时,会在编辑器附加到页面之前调用它。你可以尝试一件事。加载ajax内容后,再次调用指定控件上的CKEDITOR.replace()函数。这可能会解决您的问题。

[编辑]

$('#adminArea').load(pagetoload+'.php'); 
CKEDITOR.replace('EDITOR'); 

[编辑2]

$('#adminArea').load(pagetoload+'.php', function() { 
    CKEDITOR.replace('EDITOR'); 
}); 
+0

嗨Muneer,谢谢你,但我叫CKEDITOR.replace('editor1');在每个页面上,是否可以使用相同的名称/类? – user351657 2010-07-03 07:07:35

+0

.load不是同步的,所以在动态内容加载之前,您可以调用.replace。他需要在.load回调中执行.replace。 – redsquare 2010-07-03 07:21:19

+0

是的russp,正如redsqure所说的,如果你在回调中调用replace,它可能会工作。我已经放了第二次编辑。请检查, **使用相同的类别不会是这个问题。 – BlueBird 2010-07-03 07:33:51