2011-11-16 13 views
10

Trong một phương thức jQuery rất đơn giản, tôi đóng modal bằng cách nhấp vào CLOSE nhưCách đóng một phương thức bằng cách nhấp vào bên ngoài cửa sổ phương thức?

$('#close').click(function(e) { 
    e.preventDefault(); 
    $('#overlay, #alertModalOuter').fadeOut(400, function() { 
    $(this).remove(); 
    }); 
}); 

Làm thế nào tôi có thể đóng modal bằng cách nhấn liệu vào nút CLOSE (đó là bên trong cửa sổ modal) HOẶC cách nhấn vào bất cứ nơi nào bên ngoài cửa sổ phương thức.

+2

ràng buộc giống nhau trên các yếu tố overlay' '#. –

Trả lời

9

Thay đổi chức năng của bạn như vậy nên làm việc:

$('#close, #overlay').click(function(e) { 
     e.preventDefault(); 
     $('#overlay, #alertModalOuter').fadeOut(400, function() { 
     $('#close').remove(); 
    }); 
}); 
+0

Cảm ơn, nó hoạt động hoàn hảo; mặc dù dấu phẩy bị thiếu :) – Googlebot

+1

Bạn đã nhầm lẫn "#close #overlay" có nghĩa là phần tử có id #close được theo sau bởi phần tử có id #overflow, nghĩa là "#close, #overlay" –

+0

Cảm ơn cả hai, tôi đã thực sự. Đã cập nhật! –

3

Thêm cùng trình nghe nhấp chuột vào lớp phủ của bạn.

5

tôi tìm thấy nó hữu ích bao gồm:

$('.item-modal').click(function(e) { 
    e.stopPropagation(); 
});