如何从通过.load加载的按钮调用JQuery函数

时间:2013-11-27 00:53:23

标签: jquery

当我使用.load创建一些数据行时,我遇到了一个问题,每行包含一个名为'deleteaccomm'的按钮 - 这个加载正常,但按钮clickevent不会工作。我试过.on和.live

我怀疑使用.live时的语法可能有误。我这样试试:

$("#deleteaccom").live('click', function() {

这是进行ajax调用的代码(它驻留在ajax加载的Jquery UI选项卡中)

    $('#save-quote-accomm').click(function() {
    $.ajax({
            type: "POST",
            url: "tabs/quote-addaccomm.asp",
            data:  $("#formaccomm").serialize(),
            cache: false,
            dataType: "html",
            success: function(responseText){
                $.ajaxSetup ({
                    cache: false
                });

                var ajax_load = "<img class='loading' src='images/load.gif' alt='loading...' />";
                var loadUrl = "../includes/accommq.asp?Planner_ID=22A";
                $("#accommadded").html(ajax_load).load(loadUrl);
            },
            error: function(responseText){
            },
        });

    return false;
    });

这是代码(也位于ajax加载的标签中),当单击按钮#deleteaccomm

时应该调用该代码
$("#deleteaccomm").click(function( event ) {
        $.ajax({
                type: "POST",
                url: "tabs/accomm-delete.asp",
                data :{
                    pid : $("#deleteaccomm").attr("title")              
                },
                cache: false,
                dataType: "html",
                success: function(responseText){
                    alert('deleted');
                },
                error: function(responseText){
                    alert(data);
                },
            });

        return false;
        });

我对Jquery很新,并欢迎一些关于我出错的建议。我也想知道我是否将我的Jquery放在正确的文件中(即它应该都位于包含我的JQuery UI选项卡的顶级页面 - 或者放在加载到选项卡中的文件中)

感谢。

1 个答案:

答案 0 :(得分:0)

如果使用jQuery&gt; = 1.7使用.on()(实时在1.7中被弃用,在1.9中删除)

$("#accommadded").on('click', '#deleteaccomm', function(){
    .....
})

如果使用jQuery&lt; 1.7&amp;&amp; &gt; = 1.4.2使用delegate()

$("#accommadded").delegat('#deleteaccomm', 'click', function(){
    .....
})