Tôi có ý tưởng cho một ứng dụng web mà tôi sẽ yêu cầu toàn quyền kiểm soát chức năng của trình chỉnh sửa văn bản được nhúng và trình chỉnh sửa văn bản phải hoạt động chính xác chính xác trên trên tất cả các trình duyệt. Chức năng tiêu chuẩn contenteditable
là không đủ cho nhu cầu của tôi trong dịp này.Tạo trình chỉnh sửa văn bản dựa trên web tùy chỉnh sử dụng các phần tử "span" - một ý tưởng tồi?
Vì vậy, tôi đã thử nghiệm các cách khác nhau để triển khai trình chỉnh sửa văn bản tùy chỉnh. Cách tiếp cận đầu tiên của tôi là phát hiện các cú click chuột để chèn dấu nháy (mặc dù không có dấu nháy có thể nhìn thấy vì dường như không có cách nào để đạt được điều này). Điều này làm việc khá tốt, nhưng tiếc là không có cách nào để hiển thị dấu mũ (còn gọi là I-beam nhấp nháy).
Điều này có nghĩa là dấu nháy nháy của tôi cũng phải được tùy chỉnh. Tôi chỉ có thể nghĩ ra hai cách tốt để đạt được điều này theo cách tương thích trên tất cả các trình duyệt.
Tùy chọn đầu tiên (và tốt hơn) là triển khai công cụ bố cục tùy chỉnh bằng JavaScript giống như Google đã làm với Google Documents.
Giải pháp thứ hai (có thể dễ dàng hơn nhiều) sẽ đóng gói mỗi ký tự trong phần tử
<span>
của riêng nó và do đó cho phép đặt dấu ngoặc đơn giữa các ký tự cụ thể. Điều này có nghĩa là sẽ có rất nhiều yếu tố span, nhưng điều này chắc chắn sẽ đạt được những gì tôi cần trong khi tận dụng lợi thế của công cụ bố trí trình duyệt. Một lợi ích khác với cách tiếp cận này là tôi không cần phải dựa vào các hacks chọn văn bản cụ thể của trình duyệt.
Vì vậy, câu hỏi của tôi, là lựa chọn # 2 một ý tưởng thực sự tồi? Nếu vậy, tại sao?