เอาต์พุตในChrome :
<div id="content" contenteditable="true" style="border:1px solid #000;width:500px;height:40px;">
hey
<div>what's up?</div>
<div>
<button id="insert_caret"></button>
ฉันเชื่อในFFมันจะมีลักษณะดังนี้:
hey
<br />
what's up?
และในIE :
hey
<p>what's up?</p>
น่าเสียดายที่ไม่มีวิธีที่ดีในการสร้างมันขึ้นมาเพื่อให้ทุกเบราว์เซอร์แทรก<br />
แท็กแทน div หรือ p หรืออย่างน้อยฉันก็ไม่พบสิ่งใดทางออนไลน์
อย่างไรก็ตามสิ่งที่ฉันพยายามทำในตอนนี้คือเมื่อฉันกดปุ่มฉันต้องการให้ตั้งเครื่องหมายคาเร็ตไว้ที่ท้ายข้อความดังนั้นควรมีลักษณะดังนี้:
hey
what's up?|
วิธีการทำเช่นนี้จึงทำงานในเบราว์เซอร์ทั้งหมด ?
ตัวอย่าง:
$(document).ready(function()
{
$('#insert_caret').click(function()
{
var ele = $('#content');
var length = ele.html().length;
ele.focus();
//set caret -> end pos
}
}