Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery通过ajax加载项,并在删除它的同时从所有以前的删除中获得通知_Ajax_Jquery_Jquery Plugins_Sticky - Fatal编程技术网

jQuery通过ajax加载项,并在删除它的同时从所有以前的删除中获得通知

jQuery通过ajax加载项,并在删除它的同时从所有以前的删除中获得通知,ajax,jquery,jquery-plugins,sticky,Ajax,Jquery,Jquery Plugins,Sticky,我有一个像这样的潜水艇 <section class="item_container"> <article class="item"> <h2>Page Title</h2> <p><a class="delete_page" href="http://www.abc.com/delete/1/">delete</a></p> </article> <articl

我有一个像这样的潜水艇

<section class="item_container">

<article class="item">
    <h2>Page Title</h2>
    <p><a class="delete_page" href="http://www.abc.com/delete/1/">delete</a></p>
</article>

<article class="item">
    <h2>Second Page Title</h2>
    <p><a class="delete_page" href="http://www.abc.com/delete/2/">delete</a></p>
</article>

</section>
所有内容都是通过Ajax加载的,每篇文章中很少有div,有30多篇文章

问题是,我正在使用Sticky插件在每个项目都被删除后显示通知,它工作正常,一切正常,但在我删除一篇文章后,之前删除的粘性通知也会显示出来

比如,在我删除一个项目后,我会看到一个粘性通知,在我删除第二个项目后,我会看到两个粘性通知,一个是本项目,一个是上一个项目,我只想看到1,对于我删除的每个项目,都会显示所有上一个粘性通知+1


希望我说得够清楚了,谢谢各位。

您遇到的问题是,每次单击a.delete\u页面元素时,您都在使用.live设置一个新的单击事件处理程序,因此每次后续单击都会得到一个运行的事件处理程序

虽然作为旁注,.live的全部观点已经被弃用;考虑使用.jQuery 1.7 +或.Read之前的1.7——它处理由动态添加的元素触发的事件。称之为:

$('a.delete_this_page').live('click', function(e){
        e.preventDefault();
        parent_div.remove();
        $('footer#ajax_footer').html('').slideUp();
        $.sticky('<b>Page Deleted</b><p><u>'+ title +'</u> Page has been successfully deleted.</p>');
    });

在$document.ready中的其他回调函数之外,找到另一种方法来标识父分区。或者,将单击事件直接绑定到回调处理程序中的特定链接。

Hello,将$'a.delete_this_page'。live改为$'a.delete_this_page'。on解决了所有问题,但如果我将$'a.delete\u page.live更改为$'a.delete\u page.on,也会导致动态加载的项目出现问题。@Roccos.on.$有两种用法选择器“.”在“事件”上,函数{…};在代码运行时将事件绑定到现有元素,因此不会识别稍后添加的元素。您需要使用$'.item_container'。在'click','a.delete_page',函数{…};因此,它将设置事件委派,并将从动态添加的元素触发。即使这样做,问题仍然是一样的,但我以前的问题/问题已经解决,谢谢。我现在正在调查这些。
$('a.delete_this_page').live('click', function(e){
        e.preventDefault();
        parent_div.remove();
        $('footer#ajax_footer').html('').slideUp();
        $.sticky('<b>Page Deleted</b><p><u>'+ title +'</u> Page has been successfully deleted.</p>');
    });