2013-05-10 27 views
5

Tôi đang sử dụng jQuery-1.9.1 và jQuery-ui-1.10.2 để bật lên một hộp thoại, mã của tôi là dưới đây:Tại sao Hộp thoại giao diện người dùng jQuery không có tối thiểu, tối đa hóa các nút?

<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script> 
<script type="text/javascript" src="js/jquery-ui-1.10.2.min.js"></script> 
<link rel="stylesheet" type="text/css" href="css/jqueryUI/theme/redmond/jquery-ui- 1.10.2.custom.min.css" /> 
<script type="text/javascript"> 
$(function(){ 
    $("#dialog").dialog(); 
}); 
</script> 
</head> 
    <body> 
<div id="dialog"> 
    hello, this is a dialog 
</div> 
</body> 

hộp thoại chỉ có close nút, không minimizemaximize nút, nhưng tôi muốn cho họ xem. Tôi tìm thấy trong trang this, hộp thoại của nó có các nút minimizemaximize, tôi không tìm thấy bất kỳ cài đặt đặc biệt nào về hộp thoại trong mã javascript của tác giả và phiên bản jQuery-ui được sử dụng là 1.8.16, jQuery-ui của tôi phiên bản đã xóa chức năng này?

PS: jQuery-1.9.1.min.js và jQuery-ui-1.10.2.min, js của chúng tôi được tải xuống từ trang web chính thức, không có bất kỳ thay đổi tùy chỉnh nào.

Trả lời

8

Nhìn vào nguồn của giao diện người dùng jQuery trong ví dụ đó, có vẻ như người chạy trang blog đó đã thêm tùy chỉnh để giảm thiểu và tối đa hóa hỗ trợ. Bạn có thể tìm thấy nhận xét sau trong mã.

/* 
* jQuery UI Dialog 1.8.16 
* w/ Minimize & Maximize Support 
* by Elijah Horton ([email protected]) 
*/ 

Bạn sẽ cần thêm tùy chỉnh cho hộp thoại hỗ trợ hoặc bao gồm thư viện mở rộng hộp thoại Giao diện người dùng jQuery. Có vẻ như trang web this có một plugin có tên là jquery-dialogextend sẽ làm những gì bạn yêu cầu.

+0

vâng, cảm ơn tất cả các bạn. – hiway

1

Nếu bạn nhìn vào giữa tệp jquery-ui.js được liên kết trong trang đó, có một phần mã chưa được sửa đổi từ dòng 366 đến khoảng 1429, nơi ông đã thêm mã tùy chỉnh để xử lý chức năng thu nhỏ/tối đa hóa.

Chỉ cần lưu ý rằng không có gì đảm bảo rằng phần mã sẽ hoạt động chính xác (hoặc ở tất cả) trong bất kỳ phiên bản nào của giao diện người dùng jQuery khác với 1.8.16.

0

Tôi đã tạo một plugin nhỏ với nhà máy tiện ích mở rộng hộp thoại jquery ui.

tôi sử dụng nhà máy jquery widget để thêm functionnalities mới

$.widget('fq-ui.extendeddialog', $.ui.dialog, { 
... 
})(jQuery); 

Trong mã thoại jquery UI, có một phương pháp _createTitlebar. tôi ghi đè lên nó và thêm một tối đa hóa và giảm thiểu nút

_createTitlebar: function() { 
    this._super(); 
    // Add the new buttons 
    ...   
    }, 
+0

Trong khi liên kết này có thể trả lời câu hỏi, tốt hơn nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở thành không hợp lệ nếu trang được liên kết thay đổi. –

+0

Xin lỗi, đây là bài viết đầu tiên của tôi ^^ – Thomas

+0

Không sao cả. Chào mừng bạn đến với Stack Overflow! Cảm ơn bạn đã mở rộng câu trả lời để bao gồm các phần liên quan đến câu trả lời. Vui lòng xem phần [trợ giúp] để tự làm quen với các quy tắc của trang web. –

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