Javascript'te programlıyorsanız, muhtemelen bir tıklatmada açık olan ve kullanıcı menünün dışını tıklattığında kapanan menülerin olmasını istediğiniz durumun karşısına geçersiniz. Bunu yapmak için oldukça basit bir yol geliştirdim. Belgenin gövdesine bir olay dinleyicisi ekliyorum. Birisi tıkladığında, etkinliğin hedef kimliğini ararız. Kutunun div kimliği ile eşleşirse, o zaman hiçbir şey yapmayın. Olmazsa, menüyü kapatın.
Bunu biraz daha ileri götürürsek, kullanılmadığında tüm vücudunda bir tıklama olay dinleyicisini bırakmak verimsizdir. Bu durumda, menü henüz açılmadıysa, menünün dışındaki bir tıklamayı dinlemek için hiçbir neden yoktur. Olay dinleyicisini, gösterilen div'in geri çağrısına ekleyin. Aynı damarda, div tekrar gizlendiğinde, olay dinleyicisini çıkarın.
Divi Göster Kara kutunun içine tıklayın, hiçbir şey olmuyor. Dışarıdan tıklayın, $ ('# showbox') kaybolur. Click (function () {$ ('# bigbox'). Show (function () {document.body.addEventListener ('click', boxCloser, false);}) ;}); function boxCloser (e) {if (e.target.id! = 'bigbox') {document.body.removeEventListener ('klik', boxCloser, yanlış); $ ( '# Bigbox') gizlemek ().; }}
Ayrıca, yukarıdaki işlevselliğin bir kısmı bu kütüphaneyi kullandığından, projenize jQuery'yi eklediğinizden emin olun.