查找插入点当前放置在textarea/contenteditable中的位置是
问题描述:
我目前正在尝试创建动态文本区域,尽管我面临的问题是某些区域必须阻止事件实现,而我已经得出结论,我需要找出插入点位于当前textarea或contenteditable divider中的位置。查找插入点当前放置在textarea/contenteditable中的位置是
我用的事件和jQuery的keyup
但当点击上分隔做他们不登录,我不知道要寻找什么在event
对象找到我后,我。
例如,如果我在一个空的textarea并点击textarea,它将返回0
,因为它在开头 - 如果我要写文本,它会返回数字,因为更多的字符被插入到textarea的。
答
您可以使用textarea
的selectionStart
和selectionEnd
属性。对于contenteditable
元素,您可以使用window.getSelection()
。
$('#text1').on('keyup click', function() {
console.log('Selection start :', $(this).prop('selectionStart'));
console.log('Selection end :', $(this).prop('selectionEnd'));
});
$('#text2').on('keyup click', function() {
console.log(window.getSelection().getRangeAt(0).startOffset);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="text1"></textarea>
<div id="text2" contenteditable>some text</div>
将这项工作'contenteditable'?这是我目前的目标,我认为他们会互相合作 – Jek
@Jek查看我的更新回答 –
谢谢我的男人,工作的魅力:D – Jek