Tôi đang triển khai chức năng chọn mục trong javascript (sử dụng jQuery). mục là một li chứa một số html.
người dùng có thể nhấp vào một mục (làm cho nó được chọn) và sau đó bấm shift trên một mục khác để chọn tất cả các mục ở giữa. điều này về cơ bản hoạt động OK, tuy nhiên, shift-click cũng chọn (higtlights) văn bản xuất hiện bên trong các mục (chức năng trình duyệt cơ bản cho các nhấp chuột thay đổi). có cách nào vô hiệu hóa thứ đó không?tắt chọn văn bản trong khi nhấn 'shift'
Trả lời
Hãy thử một combo JavaScript và css để ngăn chặn lựa chọn ở địa điểm đầu tiên:
$('li').attr('unselectable', 'on'); // IE
css (dành cho trình duyệt không phải IE):
li {
user-select: none; /* CSS3 (little to no support) */
-ms-user-select: none; /* IE 10+ */
-moz-user-select: none; /* Gecko (Firefox) */
-webkit-user-select: none; /* Webkit (Safari, Chrome) */
}
Hãy thử điều này sau khi tổ hợp phím Shift + bấm ...
document.getSelection().removeAllRanges();
Nếu đó là không đủ hiệu quả, bạn có thể có cũng phải hủy bỏ sự kiện onselectstart ...
window.onload = function() {
document.onselectstart = function() {
return false;
}
}
+1 để hủy kích hoạt. –
Tôi có một ứng dụng như thế. Thủ thuật là, tôi muốn cho phép lựa chọn, nhưng tôi cũng muốn nhấn Ctrl-click và Shift-click để chọn các mục.
gì tôi thấy được rằng tất cả mọi người nhưng IE cho phép bạn để đánh bại này bằng cách hủy sự kiện mousedown, và trong IE gì làm việc tốt nhất là để tạm thời vô hiệu hóa onselectstart:
$("#id").mousedown(function (e) {
if (e.ctrlKey || e.shiftKey) {
// For non-IE browsers
e.preventDefault();
// For IE
if ($.browser.msie) {
this.onselectstart = function() { return false; };
var me = this; // capture in a closure
window.setTimeout(function() { me.onselectstart = null; }, 0);
}
}
});
Đây là bí mật tôi đang tìm kiếm. Trên Chrome có được flash lựa chọn tạm thời và trên Safari cũng cần thêm 'document.getSelection(). RemoveAllRanges();' – prototype
Nếu bạn có hộp kiểm trong hàng bảng của bạn (mục), bạn có thể chỉ cần đặt tiêu điểm vào hộp kiểm cho hàng sau khi bạn đã thực hiện lựa chọn. Tập trung vào hộp kiểm sẽ loại bỏ lựa chọn trình duyệt. Bạn cũng có thể tập trung vào một hộp văn bản hoặc phần tử biểu mẫu khác. Đối với JQuery,
$('tr').bind('click', function(e) {
// If shift key was down when the row was clicked
if (e.shiftKey) {
// Make the row selected
$(this).parent().children().slice($(last).index(), $(this).index()+1).addClass('selected').find('input:checkbox').attr('checked', true);
// Now focus on the checkbox within the row
$('input:checkbox', $(this)).focus();
}
});
- 1. Gửi giá trị khi nhấn Enter trong vùng văn bản và nhấn Shift + Enter phải đi tới dòng tiếp theo
- 2. Tắt lựa chọn văn bản trong Chrome
- 3. JavaScript: Tắt chọn văn bản qua doubleclick
- 4. javascript: Tắt Văn bản Chọn
- 5. Tắt chọn văn bản trong PhoneGap
- 6. Tắt Shift + Xóa Cắt trong Visual Studio
- 7. Trong Terminal trên Mac OSX, Cách sử dụng shift + mũi tên để chọn văn bản?
- 8. Chọn văn bản trong hộp văn bản bị tắt trong C#
- 9. Sử dụng SHIFT + Mũi tên để chọn văn bản trong vim/MacVim
- 10. thay đổi màu văn bản nút khi nhấn
- 11. Đã tắt <input> cho phép chọn văn bản?
- 12. Chọn nút trong khi nhấn nút enter
- 13. Thao tác nhấn tab lựa chọn hình ảnh trong VIM
- 14. Cách chọn dòng văn bản trong textarea
- 15. Có thể tắt lối tắt 'shift + space' trong SQL Server Management Studio 2008 không?
- 16. Cách tắt các phím tắt trong Hộp văn bản WPF
- 17. Xóa con trỏ trong Văn bản tuyệt vời sau khi nhấn Ctrl + nhấp vào
- 18. Ghi lại sự kiện nhấn phím "shift + tab"
- 19. Bỏ chọn văn bản trong hộp văn bản
- 20. Thay đổi màu đánh dấu khi chọn văn bản trong đầu vào văn bản HTML
- 21. Chọn tất cả văn bản bên trong EditText khi văn bản được lấy nét
- 22. Chọn tất cả văn bản trong nhập văn bản HTML khi nhấp vào
- 23. Phát hiện khi người dùng chọn văn bản trong vùng văn bản
- 24. tắt kéo và thả văn bản
- 25. Android Nhấn và giữ hành vi Chỉnh sửa văn bản
- 26. Tắt tính năng nhấn chuột của InfoWindows?
- 27. Giữ tiêu điểm trên hộp văn bản sau khi nhấn enter
- 28. Thay thế văn bản đã chọn trong vùng văn bản
- 29. phím shift chỉ bị bỏ qua sau khi một phím khác đã bị khóa, phím shift kém. Làm thế nào để phát hiện khi nó được phát hành?
- 30. Thay đổi phím tắt trong văn bản tuyệt vời 2
Lưu ý rằng unselectable = "on" phải nằm trên tất cả các nút con (vd: div, p). Ngay cả một tiện ích hộp kiểm cũng có thể được dịch chuyển. –
Điều này không giải quyết phần "trong khi nhấn phím shift". Xem @Anthony Mills trả lời cho điều đó. – ahlexander