我刚刚做了我的第一个 jQuery 插件,它隐藏了太长的内容。
您可以在http://jsfiddle.net/denislexic/bT4dH/6/查看小提琴。
当您检查并单击“...”时,您会注意到第一个切换了三次,第二个切换了两次,第三个是正确的(所以只有一次)。
我不知道它为什么这样做。我试过e.preventDefault()
,stopPropagation()
等。似乎没有任何效果。
这是似乎是问题的代码:
$("." + opts.clickZoneClass).on("click", function (e) {
_debugger(1);
var element = $(this).parent('div').children('div.status');
// I know you can use is(':visible'), but it doesn't work in Internet Explorer 8 somehow...
if (element.hasClass('open')) {
_debugger(2);
element.animate({
height:element.attr('data-toggle')
}, 'fast');
//$(this).html();
element.removeClass('open');
} else {
_debugger(3);
element.animate({
height:element.attr('data-height')
}, 'fast');
element.addClass('open');
}
return false;
});