我有一個<ul>
,點擊後可切換另一個<ul>
的可見性。當發現<ul>
s時,我如何將活動附加到頁面正文以便身體隱藏<ul>
。當ul可見時將一個事件附加到身體上,然後在不可見時將其刪除
我是新來寫這些泡沫的東西,我不明白爲什麼我迄今爲止所做的似乎間歇性地工作。點擊幾次後,打開第二個<ul>
時無法添加類open
。
當然,可能有一個完全更好的方法來做到這一點。
$(document).on('click', '.dd_deploy', function (e) {
var ul = $(this).children('ul');
var height = ul.css('height');
var width = ul.css('width');
ul.css('top', "-" + height);
ul.fadeToggle(50, function() {
//add open class depending on what's toggled to
if (ul.hasClass('open')) {
ul.removeClass('open');
} else {
ul.addClass('open');
}
//attach click event to the body to hide the ul when
//body is clickd
$(document).on('click.ddClick', ('*'), function (e) {
e.stopPropagation();
//if (ul.hasClass('open')) {
ul.hide();
ul.removeClass('open')
$(document).off('click.ddClick');
// }
});
});
});
請在點擊事件的工作,因爲這是在顯示和隱藏UL的事件。 –
@KevinB嗨凱文,謝謝。你能更具體一些嗎?我不太明白你的意思。 – 1252748
你能否確認這是你想要的:當你點擊dd_deploy時,它會打開子菜單,當你點擊其他地方時,它會關閉? – Aktee