如何编写委托.on(“点击”

时间:2014-08-06 11:07:36

标签: javascript php jquery ajax delegates

我有创建和销毁的按钮。我在下面有这个代码。 #showContainer是什么是ajax" ing,click是动作,showPrevious是用户与之交互的按钮。

$("#showContainer").on( "click", "#showPrevious", function()
{
    $.ajax(
    {
        url: "flip/showprevious.php",
        cache: false,
        success: function(html)
        {
            $("#showContainer").html(html);
        }
    });
});

根据jsHint,这是有效的JavaScript。添加时,此下面的所有代码行都不起作用。我的cPanel和WAMP服务器没有显示任何错误。我已经详尽地阅读了.on()上的jQuery文档。

疑难解答我尝试将.on()附加到加载页面上已存在的几个不同的可能父元素。我已经尝试将.on()附加到其他按钮以查看按钮是否有问题,但这也无效。我认为这可能与我重新创建一些有用的东西并且让我的代码混淆的事实有关。我尝试将id更改为class和#to。顺便说一下,但这也行不通。无论如何,这些都不应该打破javascript代码。我相信这是我在这里分享的代码。当我评论它时,其他一切都按预期工作。

注释。我使用的是.click(),它适用于第一次点击,但在点击之后,showPrevious按钮会重新创建,并且.click()将不再有效,因为新的showPrevious在加载时不在页面上。

摘要嗯,这就是我拥有的所有信息。我无法想象其余代码是相关的,但如果是,请告诉我要寻找什么。

1 个答案:

答案 0 :(得分:0)

应该是这样的:

$(document).on("click","#showContainer #showPrevious", function()
{
    $.ajax(
    {
        url: "flip/showprevious.php",
        cache: false,
        success: function(html)
        {
            $("#showContainer").html(html);
        }
    });
});