2012-06-22 35 views
8

Tôi cho rằng tiêu đề khá tự giải thích.Nhấp vào HOẶC đó, sau đó làm điều gì đó

Tôi muốn đóng div khi người dùng nhấp vào lớp phủ HOẶC trên liên kết. Tôi biết bạn chỉ có thể viết hai chức năng như vậy:

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

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

Hoặc bạn có thể viết một chức năng, như vậy:

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

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

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

tôi đã cố gắng này, nhưng nó đã không làm việc.

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

Nhưng có thể viết điều này trong một dòng không? (Một cái gì đó như $("#close-search" OR #global-overlay"))

Trả lời

21

dấu phẩy tách phương tiện này hay cái kia

$("#close-search, #global-overlay") 

Nhiều selector

2

Hãy thử điều này

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

chưa được kiểm tra:

Hãy thử điều này:

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

chú ý rằng chuỗi trong bộ chọn không được chia nhỏ như một mảng, thay vào đó - bộ chọn Sizzle sẽ làm điều này cho bạn.

Các vấn đề liên quan