Vì vậy, tôi có một phương thức lấy thẻ và kết thúc văn bản đã chọn trong thẻ đó.Chèn dấu mũ sau một nút được chèn
function wrap(tag)
{
var sel, range;
if (window.getSelection)
{
sel = window.getSelection();
if (sel.rangeCount)
{
range = sel.getRangeAt(0);
var selectedText = range.toString();
range.deleteContents();
range.insertNode(document.createTextNode('['+tag+']'+selectedText+'[/'+tag+']'));
}
}
}
Vấn đề này tuy nhiên, sau khi đã thực hiện xong văn bản và chèn nút dấu (nơi chúng đang nhập) được đặt TRƯỚC văn bản được chèn.
Có cách nào để chèn văn bản và giữ dấu sót ở cuối nó không?
Xin lưu ý tôi muốn sử dụng nếu điều này có thể được thực hiện mà không cần sử dụng jQuery hoặc bất kỳ thư viện nào khác. Tôi chỉ cần nó để làm việc trong webkit (Safari).
Bạn là người đàn ông :) – endy
@phil mccull +1 cho câu trả lời. điều gì sẽ xảy ra nếu bạn chỉ phải chèn văn bản vào div đó chứ không phải ở bất kỳ nơi nào khác trong tài liệu, khi nhấn 'wrap'? –
có câu trả lời cho câu hỏi của tôi từ liên kết: http://stackoverflow.com/a/8340432/1407434, cập nhật fiddle: http://jsfiddle.net/tM3mA/38/ –