2013-02-01 22 views
12

Tôi có một <div contenteditable="true"></div> và khi tôi nhập một số nội dung vào nó, sau đó xóa những nội dung, nó có vẻ như trình duyệt được chèn một yếu tố <br> tự động vào yếu tố này.<br> được đưa vào yếu tố html contenteditable nếu để trống

Có ai có kinh nghiệm với điều này không? Biết cách sửa nó?

+0

Điều gì xảy ra với điều này? – Kermit

+1

Trong hoàn cảnh nào? Bạn đang sửa đổi các tập tin, hoặc chỉ rối tung với dom trong giao diện điều khiển hoặc một cái gì đó? –

+0

Div phải luôn tách riêng, tương đương với
s, bởi vì nó là một phần tử khối. – NoBugs

Trả lời

5

Tôi đã gặp sự cố này trước khi phát triển một tính năng cho ứng dụng web. Đó là hành vi mặc định cho trình duyệt. Nó giống như một ngắt dòng cho các trình soạn thảo văn bản. Cách tốt nhất để xử lý nó là chạy RegEx trên nội dung khi gửi/lấy nó để xóa các thẻ và sau đó xóa nó khi không có sẵn văn bản.

Tôi thường sử dụng các thẻ <br> để tìm ra vị trí ngắt dòng của tôi. Một số trình duyệt sử dụng các thẻ <p>, vì vậy hãy đảm bảo rằng trình duyệt chéo kiểm tra nó.

+0

Cảm ơn. Hiện tại tôi chỉ đang kiểm tra nội dung là '
'và coi đó là trường hợp trống để đi xung quanh. Có vẻ như bị hacka. Tự hỏi nếu có một giải pháp đẹp hơn cho nó. –

0

Tôi đang chạy với cùng một vấn đề khi tôi tạo nội dung phần tử có thể chỉnh sửa được, tôi sẽ đưa ra một số
được chèn vào điểm tôi làm cho phần tử có thể chỉnh sửa cùng lúc với tôi. Điều đó hoàn toàn phù hợp với tôi.

myselect.attr('contenteditable', 'true'); 
myselect.find('br').remove(); 
Các vấn đề liên quan