2011-12-18 28 views
11

Tôi đang sử dụng thư viện giao diện người dùng jQuery để cung cấp một số chức năng giao diện người dùng cho các phần tử DOM.Cách dừng thuộc tính có thể thay đổi kích thước của một phần tử trong jQuery UI

Tôi có một div có thể được thay đổi kích cỡ khi khách hàng chọn tùy chọn thứ nguyên tùy chỉnh, nhưng tôi cũng có một chế độ khác thay đổi kích thước div với kích thước cố định và khách hàng không thể thay đổi kích thước div.

Mã của tôi về "kích thước tùy chỉnh" là tương tự như sau:

$("#element").resizable ({ 
    aspectRatio: 4/3, 
    minWidth: 320, 
    minHeight: 240, 
    maxWidth: 640, 
    maxHeight: 480 
}); 

Nhưng bây giờ tôi cần phải dừng sự kiện thay đổi kích thước. Tôi có thể làm cái này như thế nào?

Cảm ơn.

Trả lời

18

Bằng cách vô hiệu hóa

Plugin cung cấp một phương pháp "vô hiệu hóa" mà bạn có thể gọi như thế này:

$("#element").resizable('disable'); 

Các vấn đề là nó cho biết thêm một lớp "ui-do nhà nước bị vô hiệu hóa "thành phần tử có thể thay đổi kích thước khiến cho trạng thái bị tắt hình ảnh. Nếu bạn không muốn điều đó, bạn ghi đè lên các phong cách hoặc loại bỏ các lớp bổ sung như sau:

$("#element").resizable('disable').removeClass('ui-state-disabled'); 

By phá hủy

Một cách khác để làm điều này là để "tiêu diệt" các plugin từ phần tử khi bạn không muốn nó có thể thay đổi kích thước:

$("#element").resizable('destroy'); 

Sau đó bạn có thể áp dụng lại kích thước của mình nếu bạn muốn kích hoạt lại hiệu ứng

4

Gọi destroy hoặc disable phương pháp, ví dụ .:

$("#element").resizable('disable'); 

Nếu bạn sử dụng disable, bạn có thể sử dụng enable lại sau, nhưng hành động mặc định cũng làm mờ các yếu tố một chút mà bạn có thể không muốn.

Trình diễn trực tiếp hoàn toàn vô cớ: enable/disable | destroy/recreate

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