2010-07-03 43 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