Có thể chuyển các div sang số contenteditable="false"
khi đang bắt đầu lựa chọn một trong số chúng. Nội dung như thế này cung cấp cho bạn ý tưởng (sử dụng JQuery):
$('div').bind("selectstart", function() {
$('div').attr("contenteditable", false);
});
Here's a fiddle to demonstrate (chỉ được thử nghiệm trong Chrome).
Lưu ý trong ví dụ fiddle rằng ContentEditable Div đầu tiên lấy tiêu điểm. Điều này cho phép bạn loại bỏ như bình thường, nhưng ngay sau khi bạn chọn bất cứ điều gì, bằng cách sử dụng chuột hoặc bàn phím, bạn sẽ thấy bạn có thể mở rộng lựa chọn trên divs như bình thường.
Điều này rõ ràng là cần tìm ra để làm việc với nhiều trình duyệt và quay lại contenteditable="true"
một cách thích hợp. Nhưng tôi nghĩ cách tiếp cận này là hợp lệ.
@ JC0C611: Các số không phải là giá trị hợp lệ cho 'id' theo W3C –
Điều đó khá lạ, nhưng cho phép nói rằng "_0", "_1" ... v.v ... sẽ hợp lệ, đúng không? – JCOC611
@ JC0C611: Mã ID và NAME phải bắt đầu bằng một chữ cái ([A-Za-z]) và có thể được theo sau bởi bất kỳ số chữ cái, chữ số ([0-9]), dấu gạch ngang ("-"), dấu gạch dưới ("_"), dấu hai chấm (":") và dấu chấm (".") (http://www.w3.org/TR/html401/types.html#type-name) –