2012-07-19 6 views
0

jquery AJAX를 통해 양식을로드하고 있으며 텍스트 영역에 wysiwyg 편집기를 구현하려고합니다. 사업부의 #customerForm는 다음과 같이 (는 텍스트 영역을 포함)를 다시로드 그러나.load 후 wysiwyg 편집기 적용

페이지를로드 할 때 자체는 괜찮 텍스트 영역 :

$("#customerForm").html(loading).load(filename); 
$('#noteArea').wysiwyg(); 

나는로드 위선적 인 말투. 위의 코드는 메인 페이지에로드 된 별도의 .JS 파일에 있습니다. 따라서이 기능을 즉시 참조하는 데 문제가 있는지 궁금합니다. 편집기에서 찍은 : 사람이 더 좋은 JQuery와 편집자가

https://github.com/akzhan/jwysiwyg

경우 내가 그들에게 열려있을 거라고 제안하고, 그러나이 사람은 작고 좋은이며, 내가 무엇을 원했다. 어떤 제안?

+0

당신은 어떤 오류가 콘솔을 확인 했습니까? 'loading '이 변수가 아니라면 텍스트 문자열이 아니므로 즉시 오류가 발생합니다. –

+0

로딩 및 파일 이름은 모두 JS에서 이전에 설정된 변수이며, 심지어 .wysiwyg 행이있는 경우에도 잘 작동하며 그 이후의 코드도 마찬가지입니다. 그래도 오류를 확인할 것입니다! – Chud37

+0

아니요, 콘솔 오류가 없습니다. – Chud37

답변

1

.load() 함수 비동기 동작합니다 (source of the function 참조 내부적 .ajax()를 사용하고 async 속성 defaults to true). 즉, 내용이로드되기 전에 다음 행이 실행됩니다. 콜백에서 에디터를 초기화하십시오 :

$('#customerForm').load(filename, function() { 
    $('#noteArea').wysiwyg(); 
}); 
+0

감사합니다. 그것은 그것을 소트했다. 나는 그것을 기억할 것이다. 고맙습니다. – Chud37

+0

당신을 진심으로 환영합니다. 'async'는'.ajax()'와 관련된 모든 오류에 대한 공통 루트입니다. – Wolfram