1

メインdivとセカンダリの2つのdivがあります。これは、メインdivのリンクをクリックすると読み込まれるinnerHTMLページです。セカンダリdiv内には、pythonDjangoを介して挿入されたコメント領域があります。そのコメント領域に、リッチテキストjqueryプラグインを適用しようとしています。ajaxを使用すると、innerHTMLページ内のスクリプトが削除され、コンテンツのみが読み込まれることを知っています。メインdivでプラグインを参照しようとしましたが、ajaxページが読み込まれる前に起動するため、リッチテキストがまだ適用されていません。ページの読み込み後にプラグインを起動する方法はありますか?または、この問題に取り組むための最良の方法は何ですか?onreadystatechangeを使用できますか?

メインページ:

<div class="content">
    <div class="main">
                <!-- bunch of content here -->
            </div>
    <div class="main">
                <!-- loads another HTML page -->
            </div>                

リッチテキストを適用しようとしているセカンダリページフォームフィールド(別のHTMLページ上):

<p>{{ form.as_p }}</p>

Javascriptロード関数:

var url;
$('.linkQuestion').on('click', 'a', function(ev) {
    url = $(this).attr('href');
    $('.answers').load(url, function(){
        $.getScript('https://s3.amazonaws.com/javascript/richTextEditor.js', function() {
            bkLib.onDomLoaded(function() { nicEditors.allTextAreas() }); 
        });

    }); 
return false;
});

プラグインを呼び出すには:

 <script type="text/javascript" src="{{ STATIC_URL }}js/richTextEditor.js"></script>
 <script type="text/javascript">
    bkLib.onDomLoaded(function() { nicEditors.allTextAreas() });
 </script>

すでに多くの同様の質問があり、それらすべてを調べましたが、それでも機能させることができません。助けていただければ幸いです。

4

2 に答える 2

1

コールバックを使用し、ajaxリクエストが終了した後にプラグインを適用します。

$('.secondary').load(url, function(){
    // call your plugin here on the content. 
}); 
于 2012-11-08T22:19:28.350 に答える
0

このようなことをしてもらえますか?

$(document).ready(function() {
    var url;
    $('.main a').on('click', function() {
        url = $(this).attr('href');

        $.get(url, function(result) {
            $('.secondary').html(result);
        }

        return false;
    });
}); 

ただし、コンテンツを入れるには、class="secondary"の要素が必要です。

<p class="secondary"></p>
于 2012-11-08T22:20:43.743 に答える