Javascript 从Ajax加载的内容加载内容
我可以将带有Ajax的内容加载到我的项目中,但内容也有对相同函数的Ajax调用。但是这些电话不起作用Javascript 从Ajax加载的内容加载内容,javascript,jquery,ajax,django,Javascript,Jquery,Ajax,Django,我可以将带有Ajax的内容加载到我的项目中,但内容也有对相同函数的Ajax调用。但是这些电话不起作用 $(function cargar_ajax(){ $(".call_cuerpo").on("click",function(){ var content_id = $(this).data("id") //~ console.log(content_id) $.ajax({ url: "/get_content?content_id="+content
$(function cargar_ajax(){
$(".call_cuerpo").on("click",function(){
var content_id = $(this).data("id")
//~ console.log(content_id)
$.ajax({
url: "/get_content?content_id="+content_id,
}).done(function(res) {
$( '.contenido_ajax' ).html(res);
});
});
});
我读到你必须在加载内容后调用函数,而不是如何或在何处调用
这是我在HTML中的div:
<div class="contenido_ajax"></div>
一个有效的Ajax调用:
<li><a href="#" class="call_cuerpo" data-id="1"><small>Load ajax content</small></a></li>
如果此调用加载了Ajax,则此调用不起作用:
<li><a href="#" class="call_cuerpo" data-id="{{ item.content_id }}@{{ item.book_id }}">{{ item.code }}</a></li>
代码是从Ajax调用加载的
注意:我使用的是:Django 1.6+bootstrap 3.2+html5
提前感谢。因为
.call\u cuerpo
元素被动态附加到DOM中,您需要使用委派事件处理程序:
$('.contenido_ajax').on('click', '.call_cuerpo', function() {
// rest of your code...
});
如果我没有弄错,那么当通过ajax加载click事件时,它不会执行吗? 尝试:
对于单击事件,请尝试在本地apache服务器中测试下面的代码。event.preventDefault()防止链接元素出现默认功能
<script src="jquery-1.11.1.min.js"></script>
<script>
$(".call_cuerpo").click(function(event){
// alert("I am working");
event.preventDefault();
var content_id = $(this).data("id")
//~ console.log(content_id)
$.ajax({
url: "./get_content.php?content_id="+content_id
}).done(function(res) {
$( '.contenido_ajax' ).html(res);
});
});
</script>
$(“.call_cuerpo”)。单击(函数(事件){
//警惕(“我正在工作”);
event.preventDefault();
var content_id=$(this).data(“id”)
//~console.log(content\u id)
$.ajax({
url:“./get_content.php?content_id=“+content_id
}).完成(功能(res){
$('.contenido_ajax').html(res);
});
});
输出:
谢谢您的回答,很抱歉花了这么长时间才回答 实际上,问题是:从ajax内容调用时,它不会运行。 阅读后,问题无法委派事件 这是未调用的html代码(以前从ajax加载): 我尝试了几种语法,结果事件失败了 我尝试:
$(function load_ajax(){
$(".call_cuerpo").on("click", "contenido_ajax", function( event ){
event.preventDefault();
var content_id = $(this).data("id")
console.log(content_id)
$( ".contenido_ajax" ).load( "/get_content?content_id="+content_id );
});
});
以及:
但那没用。我做错了什么
PD:对不起,我的英语是请勿将
正文
用于委托事件处理程序。样式设置可以使其不响应单击事件<代码>文档是最安全的退路,如果没有更接近的话。
<a class="call_cuerpo" data-id="A0300306@1" href="#">03.06</a>
{% block book_content %}
<div class="contenido_ajax"></div>
{% endblock book_content %}
$(function load_ajax(){
$(".call_cuerpo").on("click", function( event ){
event.preventDefault();
var content_id = $(this).data("id")
// console.log(content_id)
$( ".contenido_ajax" ).load( "/get_content?content_id="+content_id );
});
});
$(function load_ajax(){
$(".call_cuerpo").on("click", "contenido_ajax", function( event ){
event.preventDefault();
var content_id = $(this).data("id")
console.log(content_id)
$( ".contenido_ajax" ).load( "/get_content?content_id="+content_id );
});
});
$(function load_ajax(){
$(".contenido_ajax").on("click", ".call_cuerpo", function( event ){
event.preventDefault();
var content_id = $(this).data("id")
console.log(content_id)
$( ".contenido_ajax" ).load( "/get_content?content_id="+content_id );
});
});