我想要實現內聯版本,所以如果用戶點擊某個文本的div,textarea將出現在與點擊的div位置相同的位置,並會從div中獲取文本。這對我來說很好,但接下來我要做的是根據div點擊事件的x和y位置設置textarea的插入位置。有任何想法嗎?使用x和y位置設置textarea的插入位置
HTML:
<div id="content" style="display: block; z-index: 10">Some text</div>
<textarea id="editor" style="position: absolute; display: none; z-index: 11"></textarea>
JS:
$('#content').click(function(e) {
var content = $(this);
var editor = $('#editor');
var position = content.offset();
editor.css('left', position.left);
editor.css('top', position.top);
editor.val(content.text());
editor.show();
var mousePosition = { x: e.offsetX, y: e.offsetY };
// here I want to set the #editor caret position at the same place,
// where user clicks the #content (mousePosition variable)
});
插入符號始終位於一個文本節點,則無法將其定位到一個空的區域。 – Teemu
該區域不會爲空 - 它將具有與div相同的內容。 – cryss
https://developer.mozilla.org/en-US/docs/Web/HTML/Content_Editable –