2015-02-17 50 views
0

當點擊不在菜單上時,我已經看到了關於關閉菜單的相當多的話題,但是我的問題是,你可以簡單地修改下面的代碼 - 如果你不點擊#menu> ul> li> removeClass打開。就像onclick!== CSS ...?通過刪除課程,當點擊不在菜單上時關閉菜單?

$('#cssmenu > ul > li > a').on('click', function(){ 
     $("#cssmenu ul").removeClass("open"); 
    }); 
+0

從UX的角度來看,我也會關閉菜單,當你停止它。現在,您要求用戶點擊某個可能會嚇倒他們的網頁,因爲誰知道點擊頁面上的任何位置會發生什麼情況。 – GolezTrol 2015-02-17 20:44:20

+0

@VaMoose我還沒有嘗試過任何東西,因爲我不知道如何編寫語句,如果用戶沒有點擊這個>刪除類。我只需要用上面的jQuery代碼重寫,如果沒有點擊。 – RooksStrife 2015-02-17 20:45:34

+0

懸停的好處。這部分代碼不會在桌面上使用,只是移動而已。 – RooksStrife 2015-02-17 20:46:31

回答

1

會是這樣的工作?:

HTML:

<div class="container"> 
<div id="cssmenu" class="open"> 
     Content goes here 
</div> 
</div> 

CSS:

.container { 
    width: 100%; 
    height: 100%; 
} 

#cssmenu { 
    width: 50px; 
    height: 50px; 
    display: inline-block; 
    background: #000; 
} 

.open { 
    background: green !important; 
} 

最後JS:

$(document).mouseup(function (e) { 
var element = $("#cssmenu"); 

if (element.has(e.target).length === 0 && !element.is(e.target)) { 
    // click outside of the element 
    element.removeClass("open"); 
} 
}); 

jsFiddle

相關問題