Javascript 从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

我可以将带有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_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 );
        });
    });