我有2个div:主div和secondary,这是在点击主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>
我知道已经有很多类似的问题已经问过,我查看了所有这些问题,但我仍然无法让它工作。非常感谢帮助。
答案 0 :(得分:1)
使用回调并在ajax请求完成后应用插件。
$('.secondary').load(url, function(){
// call your plugin here on the content.
});
答案 1 :(得分: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>