我有一个我正在处理的功能,基本上如果我在显示hiddend时单击触发器,但是在单击触发器两次之后,要显示的元素全部消失了。我将不胜感激任何帮助。我在http://www.jsfiddle.net/AUhPc/
包括一个jsFiddle$(function() {
/* Creating the overlay content elements needed */
var overlay = $('<div class="overlay"></div>').appendTo('body');
var overlay_content = $('<div class="overlay-content"></div>').appendTo(overlay);
var overlay_content_inner = $('<div class="overlay-content-inner"></div>').appendTo(overlay_content);
var btn_remove = $('<i class="i-remove">Close</i>').appendTo(overlay_content);
//$('.user-comment-item').css({"position":"relative"})
$('.my-list li .button').on("click", function() {
var button = $(this);
// overlay_content_inner.empty();
overlay.fadeIn(300,function(){
button.find('.user-comment-list').css({"display":"block"}).appendTo(overlay_content_inner);
});
});
btn_remove.click(function(){
overlay.fadeOut(300,function(){});
});
});
答案 0 :(得分:0)
在您的点击处理程序中:
$("my-list li.button").off("click");
删除点击处理程序。您也可以使用:
$("my-list li.button").one("click", callback);
如果您只希望点击回调发生一次。
答案 1 :(得分:0)
这是因为这行
overlay_content_inner.empty();
您正在清除overlay_content_inner div中的内容,因为下次单击该按钮时数据不会显示..
尝试删除该行,然后尝试..这应该不是问题..