2012-06-22 8 views
8

Przypuszczam, że tytuł jest dość oczywisty.Kliknij to LUB, następnie zrób coś.

Chcę zamknąć element div, gdy użytkownik kliknie nakładkę lub łącze. Wiem, że można po prostu napisać dwie funkcje tak:

$("#close-search").click(function() { 
    $("#branding #searchform").fadeOut("fast"); 
    $("#global-overlay").fadeOut("fast"); 
}); 

$("#global-overlay").click(function() { 
    $(this).fadeOut("fast"); 
    $("#branding #searchform").fadeOut("fast"); 
}); 

Albo można napisać jedną funkcję, jak w przykładzie:

function closeSearch { 
    $(this).fadeOut("fast"); 
    $("#branding #searchform").fadeOut("fast"); 
} 

$("#close-search").click(function() { 
    closeSearch(); 
}); 

$("#global-overlay").click(function() { 
    closeSearch(); 
}); 

próbowałem tego, ale to nie działa.

$("#close-search", "#global-overlay").click(function() { 
     $("#branding #searchform").fadeOut("fast"); 
     $("#global-overlay").fadeOut("fast"); 
    }); 

Ale czy można to zapisać w jednym wierszu? (Coś $("#close-search" OR #global-overlay"))

Odpowiedz

2

Spróbuj

$("#close-search, #global-overlay").click(function() { 
     $("#branding #searchform").fadeOut("fast"); 
     $("#global-overlay").fadeOut("fast"); 
}); 
0

Nietestowane:

Spróbuj:

$("#close-search, #global-overlay").click(function() { 
     $("#branding #searchform").fadeOut("fast"); 
     $("#global-overlay").fadeOut("fast"); 
    }); 

zauważ, że ciąg w selektorze nie jest podzielony jak tablica, zamiast tego - selektor Sizzle zrobi to za ciebie.

Powiązane problemy