1

我有 2 个 div:主 div 和辅助,这是在单击主 div 中的链接时加载的 innerHTML 页面。在二级 div 中是通过 python Django 插入的注释区域。对于该评论区,我正在尝试应用富文本 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 回答