input、textarea、div(contenteditable=true)光标定位到最后

1、针对input、textarea

//定位input、textarea
        function po_Last(obj) {
            obj.focus();//解决ff不获取焦点无法定位问题
            if (window.getSelection) {//ie11 10 9 ff safari
                var max_Len=obj.value.length;//text字符数
                obj.setSelectionRange(max_Len, max_Len);
            }
            else if (document.selection) {//ie10 9 8 7 6 5
                var range = obj.createTextRange();//创建range
                range.collapse(false);//光标移至最后
                range.select();//避免产生空格
            }
        }

2、针对div(contenteditable="true")
 //定位div(contenteditable = "true")
        function po_Last_Div(obj) {
            if (window.getSelection) {//ie11 10 9 ff safari
                obj.focus(); //解决ff不获取焦点无法定位问题
                var range = window.getSelection();//创建range
                range.selectAllChildren(obj);//range 选择obj下所有子内容
                range.collapseToEnd();//光标移至最后
            }
            else if (document.selection) {//ie10 9 8 7 6 5
                var range = document.selection.createRange();//创建选择对象
                //var range = document.body.createTextRange();
                range.moveToElementText(obj);//range定位到obj
                range.collapse(false);//光标移至最后
                range.select();
            }
        }


原文地址:https://www.cnblogs.com/BluceLee/p/12100031.html

时间: 2024-10-25 00:59:29

input、textarea、div(contenteditable=true)光标定位到最后的相关文章

<div>标签仿<textarea>。contentEditable=‘true’,赋予非表单标签内容可以编辑

需求:web页面需要一个文本输入框.1.该文本输入框默认状态下有个仿‘placeholder’的默认文本提示信息,2.文本框输入状态下其高度会随文本内容自动撑开. 方案选择:1.使用<textarea>标签.但是标签高度不会随文本高度自动撑开,而是出现滚动条.使用JS动态计算文本内容高度赋予<textarea>标签高度. 2.使用<div>或者<p>.<span>等非表单标签,通过赋予其contentEditable='true'属性,是其获得内

苹果手机IOS中div contenteditable=true无法输入

问题: 在苹果手机IOS中 contenteditable="true" 做文本输入,点击可以弹出键盘但是无法输入,安卓都正常. 经测试,记得加一个样式-webkit-user-select:text就可以了.

【重要重要】如何在div是contentEditable=true的里面获取光标的位置,并在光标位置处插入内容。焦点位置插入指定内容

为什么要在contentEditable=true的div里面获取光标呢?因为这篇文章https://blog.csdn.net/qq_33769914/article/details/85002918我们知道想在一个内容里面插入一个新的内容,如果这个新的内容是段html代码.最后显示的是有样式的.那么用input是无法实现的. 所以我们考虑用contentEditable=true的div.在这里面输入的html就没问题啦.————————————————版权声明:本文为CSDN博主「夏天想」

可编辑div将光标定位到最后

最近做了一个可以回复留言的页面,主要包括:@.表情功能,一开始使用的是文本域textarea,最后发现这样无法显示表情,后来改成可编辑div,在div中添加contenteditable="true",则该div即可编辑. <div contenteditable="true"></div> 在选择表情或者选择@某人后,会经常遇到选择后可编辑div中的光标不见了,或者显示的位置不对,于是在网上找了些方法,现在总结下: function set

获取contenteditable区域光标所在位置信息

在我们使用contenteditable编辑时,有时需要光标位置的信息. <div contenteditable="true" style="min-height: 200px; width: 100%;-webkit-user-select: auto"></div> <script> if(s.anchorNode.parentElement.localName == 'div'){ actClass = s.anchorN

可编辑DIV (contenteditable=&quot;true&quot;) 在鼠标光标处插入图片或者文字

近期需开发一个DIV做的编辑器,插入表情图片可直接预览效果,仔细参考了下百度贴吧的过滤粘贴过来文件的THML代码,自己整理了下.写出来只是和大家分享下,我自己也不大懂,经过努力,幸好搞定. 蛋疼的事情出来了,当编辑框失去焦点时候,再插入图片时候总是插入在最前面(谷歌和火狐,IE没问题).还没搞定,,, <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/

div contenteditable 重新编辑时focus光标定位到前面问题解决

<div class="editdiv" id="edit" contenteditable="true">这是添加文字</div> getC($('.editdiv')) function getC(el){ el = el[0]; // jquery 对象转dom对象 el.focus(); var range = document.createRange(); range.selectNodeContents(el)

contenteditable=&quot;true&quot;让div可编辑

今天才知道有这个属性,真是out了. 不过以前一直没做编辑器有关的,毕竟开源的很多. 现在觉得开源的也不是这么好用,自己写写简单的吧 用了 <div class="content-box" contenteditable="true"> 我们就能在这个div内部进行编辑了. 有人要问了,有textarea,还需要这个吗 当然,用它的好处就是能插入标签. 比如说图片和视频标签 配合Jquery的html方法就能获取里面的内容了 var content=$(

div,contenteditable编辑器之ctrl+enter换行,enter发送

本想扯点废话的,赶着做项目先把代码丢上来日后再说,想看效果的直接拷贝代码过去即可. <!doctype html> <html lang="en"> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta charset="utf-8"> <title>cont