一. 获取光标位置:
// 获取光标位置
function getCursortPosition (textDom) {
var cursorPos = 0;
if (document.selection) {
// IE Support
textDom.focus ();
var selectRange = document.selection.createRange();
selectRange.moveStart ('character', -textDom.value.length);
cursorPos = selectRange.text.length;
}else if (textDom.selectionStart || textDom.selectionStart == '0') {
// Firefox support
cursorPos = textDom.selectionStart;
}
return cursorPos;
}
二. 设置光标位置:
// 设置光标位置
function setCaretPosition(textDom, pos){
if(textDom.setSelectionRange) {
// IE Support
textDom.focus();
textDom.setSelectionRange(pos, pos);
}else if (textDom.createTextRange) {
// Firefox support
var range = textDom.createTextRange();
range.collapse(true);
range.moveEnd('character', pos);
range.moveStart('character', pos);
range.select();
}
}
三. 获取选中文字:
// 获取选中文字
function getSelectText() {
var userSelection, text;
if (window.getSelection) {
// Firefox support
userSelection = window.getSelection();
} else if (document.selection) {
// IE Support
userSelection = document.selection.createRange();
}
if (!(text = userSelection.text)) {
text = userSelection;
}
return text;
}
四. 选中特定范围的文本:
/**
* 选中特定范围的文本
* 参数:
* textDom [JavaScript DOM String] 当前对象
* startPos [Int] 起始位置
* endPos [Int] 终点位置
*/
function setSelectText(textDom, startPos, endPos) {
var startPos = parseInt(startPos),
endPos = parseInt(endPos),
textLength = textDom.value.length;
if(textLength){
if(!startPos){
startPos = 0;
}
if(!endPos){
endPos = textLength;
}
if(startPos > textLength){
startPos = textLength;
}
if(endPos > textLength){
endPos = textLength;
}
if(startPos < 0){
startPos = textLength + startPos;
}
if(endPos < 0){
endPos = textLength + endPos;
}
if(textDom.createTextRange){
// IE Support
var range = textDom.createTextRange();
range.moveStart("character",-textLength);
range.moveEnd("character",-textLength);
range.moveStart("character", startPos);
range.moveEnd("character",endPos);
range.select();
}else{
// Firefox support
textDom.setSelectionRange(startPos, endPos);
textDom.focus();
}
}
}
五. 在光标后插入文本:
/**
* 在光标后插入文本
* 参数:
* textDom [JavaScript DOM String] 当前对象
* value [String] 要插入的文本
*/
function insertAfterText(textDom, value) {
var selectRange;
if (document.selection) {
// IE Support
textDom.focus();
selectRange = document.selection.createRange();
selectRange.text = value;
textDom.focus();
}else if (textDom.selectionStart || textDom.selectionStart == '0') {
// Firefox support
var startPos = textDom.selectionStart;
var endPos = textDom.selectionEnd;
var scrollTop = textDom.scrollTop;
textDom.value = textDom.value.substring(0, startPos) + value + textDom.value.substring(endPos, textDom.value.length);
textDom.focus();
textDom.selectionStart = startPos + value.length;
textDom.selectionEnd = startPos + value.length;
textDom.scrollTop = scrollTop;
}
else {
textDom.value += value;
textDom.focus();
}
}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# js
# 获取光标位置
# 设置光标位置
# javascript
# 光标位置
# Javascript实现获取及设置光标位置的方法
# 往光标所在位置插入值的js代码
# js获取光标位置的最新方法
# moveStart
# character
# length
# focus
# selectRange
# createRange
# text
# return
# setCaretPosition
# pos
# selectionStart
# Firefox
# support
# brush
# function
# strong
# pre
# class
# getCursortPosition
相关文章:
制作网站的软件免费下载,免费制作app哪个平台好?
电商平台网站制作流程,电商网站如何制作?
官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站
如何在宝塔面板创建新站点?
宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?
定制建站策划方案_专业建站与网站建设方案一站式指南
h5网站制作工具有哪些,h5页面制作工具有哪些?
网站专业制作公司有哪些,做一个公司网站要多少钱?
安徽网站建设与外贸建站服务专业定制方案
建站之星展会模版如何一键下载生成?
油猴 教程,油猴搜脚本为什么会网页无法显示?
如何快速生成专业多端适配建站电话?
高端网站建设与定制开发一站式解决方案 中企动力
网站制作免费,什么网站能看正片电影?
广州顶尖建站服务:企业官网建设与SEO优化一体化方案
商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?
高防服务器租用如何选择配置与防御等级?
制作网页的网站有哪些,电脑上怎么做网页?
免费公司网站制作软件,如何申请免费主页空间做自己的网站?
建站主机与虚拟主机有何区别?如何选择最优方案?
如何快速搭建个人网站并优化SEO?
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
完全自定义免费建站平台:主题模板在线生成一站式服务
内部网站制作流程,如何建立公司内部网站?
如何用wdcp快速搭建高效网站?
高防服务器如何保障网站安全无虞?
建站主机选购指南:核心配置优化与品牌推荐方案
如何通过西部建站助手安装IIS服务器?
如何在建站之星网店版论坛获取技术支持?
建站之星Pro快速搭建教程:模板选择与功能配置指南
建站之星代理平台如何选择最佳方案?
Swift中循环语句中的转移语句 break 和 continue
如何在腾讯云服务器上快速搭建个人网站?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
建站之星收费标准详解:套餐费用及年费价格表一览
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
如何零基础开发自助建站系统?完整教程解析
网站制作员失业,怎样查看自己网站的注册者?
c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】
如何用PHP快速搭建高效网站?分步指南
如何通过网站建站时间优化SEO与用户体验?
网站制作软件有哪些,制图软件有哪些?
可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?
简历在线制作网站免费版,如何创建个人简历?
ppt制作免费网站有哪些,ppt模板免费下载网站?
建站上传速度慢?如何优化加速网站加载效率?
如何在服务器上三步完成建站并提升流量?
如何制作网站标识牌,动态网站如何制作(教程)?
建站之星代理如何获取技术支持?
视频网站app制作软件,有什么好的视频聊天网站或者软件?
*请认真填写需求信息,我们会在24小时内与您取得联系。