我有以下小提琴http://jsfiddle.net/ycysD/1/,其中我尝试使用funcion删除DOM的元素,我也有两个执行此函数的事件,两者都做同样的事情然而在一个casi中它失败< / p>
对不起,请告诉我您是否需要其他信息
答案 0 :(得分:3)
不知道这是否是正确的行为,但这是我改变的内容:
function closeMediaList(what){
$('.media-list-display').fadeOut(function(){
what.remove();
});
};
what
是被删除的对象,因此不只是调用:
closeMedialList();
你打电话:
closeMediaList($(this));
以下是更改内容的演示:http://jsfiddle.net/t4u33/
答案 1 :(得分:0)
该行为是由代码中的冲突引起的。单击关闭按钮后,您将创建并删除新的.media-list-display
。
_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.
问题是关闭按钮在<a>
内也是.media-list
所以当点击它时会触发这两个事件,从而创建一个无限循环的删除和创建。
检查此link,并提供有关冲突部分的提醒。