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>
Run Code Online (Sandbox Code Playgroud)
我相信FF看起来像这样:
hey
<br />
what's up?
Run Code Online (Sandbox Code Playgroud)
在IE中:
hey
<p>what's up?</p>
Run Code Online (Sandbox Code Playgroud)
不幸的是,没有很好的方法来制作它,以便每个浏览器插入一个<br />而不是div或p-tag,或者至少我在网上找不到任何东西.
无论如何,我现在要做的是,当我按下按钮时,我希望将插入符号设置在文本的末尾,所以它应该看起来像这样:
hey
what's up?|
Run Code Online (Sandbox Code Playgroud)
任何方式这样做,所以它适用于所有浏览器?
例:
$(document).ready(function()
{
$('#insert_caret').click(function()
{
var ele = $('#content');
var length = ele.html().length;
ele.focus();
//set caret -> end pos
}
}
Run Code Online (Sandbox Code Playgroud) 在论坛帖子"如何使jquery自动完成工作为一个可信的DIV而不仅仅是INPUT,TEXTAREA字段." 我们看到如何在一个可信的div元素上运行自动完成,但是与datepicker相结合,datepicker根本就不会填充输入字段.
正如你在这个jsFiddle演示中看到的那样:http://jsfiddle.net/xvnaA/
任何人都有任何明智的想法如何解决这个问题?
jquery contenteditable jquery-ui-autocomplete jquery-ui-datepicker