2010-01-29 42 views
7

Tôi đang cố gắng sử dụng hộp thoại jQuery làm màn hình tải cho ajax. Tôi có nó hoạt động rất tốt cho đến nay nhưng tôi muốn màn hình tải không thể đóng được. Tuy nhiên có vẻ như hộp thoại giao diện người dùng không có "có thể đóng" như một tùy chọn?Hộp thoại giao diện người dùng jQuery - cách làm cho hộp thoại không đóng được?

Bạn làm cách nào để không thể đóng được? Tôi đã cố gắng thiết lập closeText để trống nhưng điều đó không làm gì cả. Chữ 'X' nhỏ vẫn xuất hiện ở góc trên bên phải.

Bạn có nghĩ là có thể đóng được tùy chọn cho tiện ích hộp thoại không?

Cảm ơn

Trả lời

7

Ying, chỉ cần vượt qua một hàm callback để beforeclose:

$("#loading").dialog({ 
    beforeclose: function(){ return false } 
    // other options here 
}); 
+0

Đúng vậy, xin lỗi. Đó là chính xác những gì tôi đã đề nghị đã có bạn không tìm thấy một phần của riêng bạn. Vui mừng nó đã làm việc cho bạn! Đảm bảo đánh dấu câu trả lời là đã chấp nhận (nhấp vào kiểm tra màu xám). Cả hai chúng tôi đều có được điểm đại diện và giúp những người tương lai có cùng một vấn đề biết giải pháp nào phù hợp với bạn. Chào mừng bạn đến với StackOverflow! –

+0

Rất tiếc, tôi đã tìm thấy sự cố với giải pháp này. Khi tôi gọi $ ("# loading") hộp thoại ('close') bây giờ nó không làm gì cả. Tôi cần điều đó để làm việc vì vậy tôi quyết định chỉ để ẩn "X" thông qua css. – Ying

6

Doug, nhờ trả lời nhanh chóng. Điều đó đã tắt hoạt động gần. Tuy nhiên, nó không giấu dấu "X" ở góc trên bên phải. Tôi đã kết thúc bằng cách sử dụng css để ẩn "X".

/* hide the close x on loading screen */ 
.classForMyDialog .ui-dialog-titlebar-close { 
    display: none; 
} 
+2

Bạn cũng nên xem xét thiết lập closeOnEscape thành false, '$ (" .selector ") .dialog ({closeOnEscape: false});' khi khởi tạo hoặc '$ (" .selector ") .dialog (" tùy chọn "," closeOnEscape ", false);' sau đó đặt nó thành false –

1

Làm thế nào tôi có về nó nhờ Ying và Doug

Class:

.myDialog .ui-icon{ 
    display:none !important; 
} 

Jquery:

$(".ajaxloader").dialog({ 
     modal:true, 
     resizable:false, 
     dialogClass:'myDialog' 
    }); 
+0

Cảm ơn, điều đó đã xảy ra. –

+0

Điều này cũng tự ẩn các biểu tượng trên hộp thoại. Bộ chọn nên cụ thể hơn tôi tin. –

1

Tôi nghĩ Ying là đi đúng hướng nhưng nó chỉ ra rằng .classForMyDialog (giả sử đó là div với nội dung hộp thoại) không có biểu tượng như một đứa trẻ nên nó không hoạt động.

Tôi đã thành công với:

$("#myDialogDivID").parent().find(".ui-dialog-titlebar-close").hide() 

Phụ huynh chọn phong bì thoại div và sau đó chúng ta có thể tìm và ẩn các biểu tượng gần gũi.

Tôi cũng nhân cơ hội này để làm nổi bật những nhận xét để thiết lập:

closeOnEscape: false 
Các vấn đề liên quan