我有一个 JQuery 弹出功能,当用户单击链接时会显示一些文本。他们单击“关闭”以关闭弹出窗口。很直接。
问题是弹出窗口在关闭后立即重新出现。
这是问题所在:
JAVACRIPT
$.fn.myPopup = function(popupText)
{
var popupHtml = '<div class="messagepop pop">' + popupText + '<p align="right"><a class="close" href="#">Close</a></div>';
this.each(function()
{
$(this).click(function(){
$(this).addClass("selected").parent().append(popupHtml);
$(".pop").slideFadeToggle()
});
return false;
});
$(".close").on('click', function()
{
alert('in close function - about to do slideFadeToggle on: ' + popupText);
$(".pop").slideFadeToggle();
alert('just did slideFadeToggle, about to removeClass on: ' + popupText);
$(this).removeClass("selected");
alert('just did removeClass on: ' + popupText);
});
return this;
};
$("#word1234").myPopup("Lorem Ipsum");
$("#wordABCD").myPopup("Hello World");
HTML
<a href="#" id="word1234">Supercalifragilisticexpialidocious</a> <br>
<a href="#" id="wordABCD">Foo</a> <br>
这是一个小提琴,所以你可以看到它的实际效果:http: //jsfiddle.net/N4QCZ/3/
为什么弹出窗口成功关闭后又出现了?