问题描述
|
我有以下小提琴http://jsfiddle.net/ycysD/1/,其中我尝试使用功能删除DOM的元素,我也有两个执行该功能的事件,但是两者都做同样的事情卡西失败了
对不起英语,请告诉我您是否需要其他信息
解决方法
该行为是由代码冲突引起的。单击关闭按钮后,您将同时创建和删除一个新的“ 0”。
_close.bind(\'click\',function(e){
//This line removes the .media-list-display div when
//the close button is clicked
$(\'.media-list a\').live(\'click\',function(e){
//This line adds a new .media-list-display div when any `<a>`
//inside .media-list is clicked.
问题在于,关闭按钮也是.media-list
内的<a>
,因此单击它会触发两个事件,从而形成一个无限的删除和创建循环。
检查此链接,发现有关冲突部分的警报。
, 不知道这是否是正确的行为,但这是我所做的更改:
function closeMediaList(what){
$(\'.media-list-display\').fadeOut(function(){
what.remove();
});
};
what
是要删除的对象,所以不仅仅调用:
closeMedialList();
您致电:
closeMediaList($(this));
以下是所做更改的演示:http://jsfiddle.net/t4u33/