Làm cách nào để vô hiệu hóa một jQuery có thể kéo được, ví dụ: trong một postback UpdatePanel?Làm thế nào để vô hiệu hóa một jquery-ui draggable?
Trả lời
thể tạo DisableDrag (myObject) và một hàm
myObject.draggable('disable')
Sau đó
myObject.draggable('enable')
Nó đã cho tôi một chút thời gian để tìm ra cách để vô hiệu hóa khả năng kéo vào thả sử dụng EnableDrag (myObject) ui.draggable
để tham chiếu đối tượng đang được kéo từ bên trong chức năng thả:
$("#drop-target").droppable({
drop: function(event, ui) {
ui.draggable.draggable("disable", 1); // *not* ui.draggable("disable", 1);
…
}
});
HTH ai
Cảm ơn vì điều này. Giải pháp này dường như hoạt động tốt khi sử dụng các chỉ thị có thể kéo/có thể điều hướng trong AngularJS. –
Để tạm thời vô hiệu hóa việc sử dụng hành vi kéo:
$('#item-id').draggable("disable")
Để loại bỏ các hành vi kéo vĩnh viễn sử dụng:
$('#item-id').draggable("destroy")
Tôi thấy rằng 'vô hiệu hóa' có tác dụng phụ liên quan đến css, nhưng phá hủy các công trình hoàn hảo. –
Có lẽ bạn có thể chỉ ra rằng tác dụng phụ là tốt. –
@jedanput tác dụng phụ của việc sử dụng vô hiệu hóa là các yếu tố có thể kéo được có màu xám. phá hủy dường như để lại sự xuất hiện một mình. – samazi
Có vẻ như không ai nhìn vào tài liệu gốc. Có thể không có nó tại thời điểm đó))
Khởi tạo một kéo được với tùy chọn đã tắt được chỉ định.
$(".selector").draggable({ disabled: true });
Nhận hoặc đặt tùy chọn bị tắt sau init.
//getter
var disabled = $(".selector").draggable("option", "disabled");
//setter
$(".selector").draggable("option", "disabled", true);
Điều này làm việc nhưng có một tác dụng phụ làm cho div của tôi khoảng 50% opacity ... Tôi không có ý tưởng tại sao. –
@ScottBeeson Bất cứ khi nào bạn vô hiệu hóa một cái gì đó trong jQuery, nó sẽ thêm lớp "ui-state-disabled". Bạn có thể xóa nó bằng: $ (". Ui-draggable"). RemoveClass ("ui-state-disabled") – Calciphus
Trong trường hợp hộp thoại, nó có thuộc tính có tên là kéo được, đặt thành false.
$("#yourDialog").dialog({
draggable: false
});
Cho dù câu hỏi là cũ, tôi đã thử giải pháp được đề xuất và nó không hoạt động đối với hộp thoại. Hy vọng điều này có thể giúp những người khác như tôi.
Tôi không chắc chắn câu hỏi có liên quan cụ thể đến jQueryUI * Dialogs *, nhưng tôi đã tìm thấy bài đăng của bạn hữu ích. –
Để bật/tắt có thể kéo trong jQuery tôi đã sử dụng:
$("#draggable").draggable({ disabled: true });
$("#draggable").draggable({ disabled: false });
@Calciphus câu trả lời không làm việc cho tôi với các vấn đề opacity, vì vậy tôi đã sử dụng:
div.ui-state-disabled.ui-draggable-disabled {opacity: 1;}
Làm việc trên các thiết bị di động hoặc.
Đây là mã: http://jsfiddle.net/nn5aL/1/
JSfiddle của bạn dường như không hoạt động. Các nút không nhấp (sử dụng Chrome mới nhất). Tôi đã cố gắng cập nhật nó cho các liên kết và gọi 'nút()' nhưng điều đó không giúp được gì. – ashes999
@ ashes999, tôi có Chrome cuối cùng (30.0.1599.101) và vẫn hoạt động ... – CarinaPilar
trong số tất cả các giải pháp được đưa ra, đây là người duy nhất làm việc 100% cho tôi - tất cả những người khác (sử dụng kết hợp tắt/tiêu diệt vv) chỉ không khắc phục vấn đề css. Trong ứng dụng của tôi bằng cách sử dụng kéo + thả, tôi thấy độ mờ đục là khác nhau đối với những yếu tố đã được kéo từ khi khởi tạo so với những yếu tố chưa được chạm vào. Tất cả rất lộn xộn. Nhờ @CarinaPilar cho cả giải pháp và jsfiddle để chứng minh điều đó. –
Sau đây là những gì điều này sẽ trông giống như bên trong .draggable({});
$("#yourDraggable").draggable({
revert: "invalid" ,
start: function(){
$(this).css("opacity",0.3);
},
stop: function(){
$(this).draggable('disable')
},
opacity: 0.7,
helper: function() {
$copy = $(this).clone();
$copy.css({
"list-style":"none",
"width":$(this).outerWidth()
});
return $copy;
},
appendTo: 'body',
scroll: false
});
Thay đổi draggable
thuộc tính từ
<span draggable="true">Label</span>
để
<span draggable="false">Label</span>
Tôi có một giải pháp đơn giản và thanh lịch mà không mess lên với các lớp, phong cách, mờ và các công cụ.
Đối với phần tử có thể kéo - bạn thêm sự kiện 'bắt đầu' sẽ diễn ra mỗi lần bạn cố di chuyển phần tử ở đâu đó. Bạn sẽ có một điều kiện di chuyển không hợp pháp. Đối với các động thái bất hợp pháp - hãy ngăn chúng với 'e.preventDefault();' như trong mã bên dưới.
$(".disc").draggable({
revert: "invalid",
cursor: "move",
start: function(e, ui){
console.log("element is moving");
if(SOME_CONDITION_FOR_ILLEGAL_MOVE){
console.log("illegal move");
//This will prevent moving the element from it's position
e.preventDefault();
}
}
});
Bạn đang chào đón :)
- 1. C# Làm thế nào để vô hiệu hóa một phím
- 2. Làm thế nào để vô hiệu hóa nút trong UIActionSheet?
- 3. WPF Làm thế nào để vô hiệu hóa DropShadowEffect
- 4. Làm thế nào để vô hiệu hóa cảnh báo #pragma?
- 5. Làm thế nào để vô hiệu hóa rìa trong Emacs?
- 6. Làm thế nào để vô hiệu hóa PerfWatson trong VS2012?
- 7. Làm thế nào để vô hiệu hóa bộ đệm sâu?
- 8. làm thế nào để vô hiệu hóa fling của scrollView
- 9. Làm thế nào để vô hiệu hóa mod_deflate trong apache2?
- 10. Làm thế nào để vô hiệu hóa javax.swing.JButton trong java?
- 11. Làm thế nào để vô hiệu hóa google maps kéo
- 12. Làm thế nào để vô hiệu hóa subversion trong netbeans
- 13. Làm thế nào để vô hiệu hóa textarea TinyMCE của
- 14. Làm thế nào để vô hiệu hóa Tomcat trang chủ
- 15. Làm thế nào để vô hiệu hóa OUTFILE và INFILE?
- 16. Làm thế nào để vô hiệu hóa DrawerLayout Shadow
- 17. emacs:. Làm thế nào để vô hiệu hóa # file tạo
- 18. Làm thế nào để vô hiệu hóa cảnh báo python
- 19. Làm thế nào để bạn vô hiệu hóa hiệu ứng MouseOver trên một Nút trong WPF?
- 20. Làm thế nào để biết khi nào để vô hiệu hóa một 'NSTimer`
- 21. ASP.Net: Làm thế nào để vô hiệu hoá một ListItem?
- 22. Làm thế nào vô hiệu hóa RequiredFieldValidator trong script
- 23. PMD với Maven - Làm thế nào để vô hiệu hóa một quy tắc trong một ruleset?
- 24. Làm thế nào để vô hiệu hóa một đối số nếu có một đối số khác?
- 25. SignalR - Làm cách nào để vô hiệu hóa WebSockets
- 26. Tôi làm cách nào để vô hiệu hóa _moz_resizing?
- 27. Làm thế nào để vô hiệu hóa hiệu ứng Di chuột và Ngói của ListView?
- 28. làm thế nào để vô hiệu hóa tối ưu hóa nội tuyến với jvm mặt trời?
- 29. Làm thế nào để thay đổi màu phông chữ của một TextBox bị vô hiệu hóa?
- 30. làm thế nào để vô hiệu hóa/kích hoạt một nút bằng cách jquery
này hoạt động. Tài liệu đầy đủ cho draggable() là [ở đây] (http://jqueryui.com/demos/draggable/#options). Tương tự cho các đối tượng sắp xếp() (nếu bạn cho phép sắp xếp kéo-thả-thả lại.) – nickb
Có thể nói rằng [các tài liệu có thể kéo() là (bây giờ?) Tại đây] (http://api.jqueryui.com/draggable /), với liên kết của nickb, ở trên, chuyển đến [demo] (http://jqueryui.com/draggable/). ;) – ruffin
Điều này mang lại cho tôi "không thể gọi các phương thức trên có thể kéo trước khi khởi tạo; cố gắng gọi phương thức 'vô hiệu hóa'" –