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>');
});