ajax加载页面后加载页面内容_ajax加载页面后加载页面的javascript不能执行

更新时间:2017-11-08    来源:页面特效    手机版     字体:

【www.bbyears.com--页面特效】

问题分析


先是容器,一开始是隐藏的。

 代码如下

<script>
$(document).ready(function() {
$("add_div").hide();
});
</script>

这个div是空的,用于将$.load()的内容放入其中。

当我们点击“查看”按钮后,执行如下js:

 代码如下

function edit(){
    $("#add_div").css("display","");
    //清空,并将数据放入
    $("#add_div").html("");
    $("#add_div").load("?",{
        act:"list"
    });
}

返回的内容是:

 代码如下

记录(24)
×

而我如下代码:

 代码如下

$(document).ready(function() {
    // for delete
    $(".deletereplyitem").click(function(){
        alert("delete");
        $.ajax({
            type:"POST",
            data:"action=delete&destTable=replytable&masterId="+this.id+"&reviewId="+$("input[name=reviewId]").val(),
            url:"?",
            dataType:"json",
            success:function(data){
                if(data.num>0){
                    alert(data.error);
                }
                if(data.num==0){
                    alert("操作成功");
                }
            }
        })
    })
    //显示一条详细
    $(".replyItem").click(function(){
        alert("进来!!");
        $.ajax({
            type:"POST",
            data:"act=getOne&id="+this.id,
            url:"?",
            dataType:"json",
            success:function(data){
                if(data.num>0){
                    alert(data.error);
                }
                if(data.num==0){
                    alert("雅蠛蝶!"+data);
                    //如果之前添加过内容,那么此刻打开编辑器还是存在上次编辑的东西, 所以要先清空编辑器
                    //KE.html("content","");    //firefox存在兼容bug
                    KE.util.setFullHtml("replycontent", "");
                    //KE.html("content",data);
                    KE.util.setFullHtml("replycontent", data);
                }
            }
        })
    })
})


此时当我们点击 “X” 的时候是没有任何反应的…
也没有js错误…

-.-# 很是郁闷调了半天,都还是这样,怪了,于是找芳芳的麻烦~(我js不行~)

然后芳芳告诉我必须再“注册”一次这些方法。并演示了一下,心服口服……膜拜~女神~

于是我将方法封装了一下,形容了如下代码(重点是加了回调函数):

 代码如下

function edit(){
    $("#add_div").css("display","");
    //清空,并将数据放入
    $("#add_div").html("");
    $("#add_div").load("?",{
        act:"list"
    },function(){
        $(".deletereplyitem").click(delReplyOne);   //获取一条详细
$(".replyItem").click(delReplyOne);   //删除一条
    });

function getReplyDetail(){
    $.ajax({
        type:"POST",
        data:"act=getOne&id="+this.id,
        url:"?",
        dataType:"json",
        success:function(data){
            if(data.num>0){
                alert(data.error);
            }
            if(data.num==0){
                alert("雅蠛蝶!"+data);
                //如果之前添加过内容,那么此刻打开编辑器还是存在上次编辑的东西, 所以要先清空编辑器
                //KE.html("content","");    //firefox存在兼容bug
                KE.util.setFullHtml("replycontent", "");
                //KE.html("content",data);
                KE.util.setFullHtml("replycontent", data);
            }
        }
    })
}

function delReplyOne(){
    $.ajax({
        type:"POST",
        data:"action=delete&destTable=replytable&masterId="+this.id+"&reviewId="+$("input[name=reviewId]").val(),
        url:"?",
        dataType:"json",
        success:function(data){
            if(data.num>0){
                alert(data.error);
            }
            if(data.num==0){
                alert("操作成功");
            }
        }
    })
}

}

这些都是比较细的东西

再看一个实例

 代码如下

$(document).ready(function() {
    $("content_div").hide();

    $("#list_user").click(function(event){
        event.preventDefault();
        load_user();
    });
});

function load_user(){
    //load page
    $("#content_div").load("your page url",function(){
        //回调函数,在这里注册被加载页面需要的事件
        $(".deleteItem").click(delItem);
        $(".editItem").click(editItem);
    });

    function delItem(){
        $.ajax({
            type:"POST",
            url:"your url",
            dataType:"json",
            success:function(data){
            }
        });
    }

    function editItem(){
        $.ajax({
            type:"POST",
            url:"you url",
            dataType:"json",
            success:function(data){
            }
        });
    }
}

本文来源:http://www.bbyears.com/wangyetexiao/36899.html

猜你感兴趣

热门标签

更多>>

本类排行