Using the jquery .on() and $.ajax


Using the jquery .on() and $.ajax

我的按钮将被反复销毁和重新呈现。我试图使用.on()来做到这一点,因为它适用于尚未创建的元素。我怀疑语法是正确的,jslint没有发现任何错误。它破坏了页面上的一些javascript,但不是全部。我从来没用过.on()。我不确定为什么它在jslint上没有显示错误,但破坏了我的一些浏览器,为什么它只破坏了我的一些浏览器。

这是我的jQuery。在本例中,#showPrevious是正在被销毁并重新渲染的内容。
$("#showPrevious").on( "click", function(){
    $.ajax({
        url: "flip/showprevious.php",
        cache: false,
        success: function(html){        
            $("#showContainer").html(html);             
        }
    });
});

来自委托事件的jQuery文档

事件处理程序仅绑定到当前选定的元素;它们必须在代码调用.on()

时存在于页面上。

要做到这一点,您需要将父元素上的事件处理程序附加到要添加/删除的元素上。

例如:

$( "#aParentSelector" ).on( "click", "#showPrevious", function() {
  // $.ajax({ ... }) etc
});