php光标添加,两种实现光标点插入range

本文介绍了如何在网页中实现一个实时的表情选择器,用户可以点击表情并即时插入到编辑区域,同时支持范围选择功能。通过JavaScript操作DOM和Selection API,展示了如何利用NodeDocument编辑功能来创建和管理表情节点。
摘要由CSDN通过智能技术生成

一、inse遇新是直朋能到分览支体调rtNode

Document

.edit {

width: 400px;

height: 140px;

border: 2px solid #ff7f50;

overflow: auto

}

const arr = ['😀', '😁', '😂', '😃', '😄', '😅', '😆', '😉', '😊', '😋', '😎']

let container = document.querySelector('.emoji-container')

let html = ``

for (let i = 0; i < arr.length; i++) {

html += `${arr[i]}`

}

let edit = document.querySelector('.edit')

let range

edit.onclick = function() {

range = window.getSelection().getRangeAt(0)

}

edit.oninput = function() {

range = window.getSelection().getRangeAt(0)

}

container.innerHTML = html

let emojis = document.querySelectorAll('span')

for (let i = 0; i < emojis.length; i++) {

emojis[i].onclick = function() {

let newNode = document.createElement('span')

newNode.innerText = this.innerText

range.insertNode(newNode)

console.log(range);

}

}

Document

.edit {

width: 400px;

height: 140px;

border: 2px solid #ff7f50;

overflow: auto

}

const arr = ['😀', '😁', '😂', '😃', '😄', '😅', '😆', '😉', '😊', '😋', '😎']

let container = document.querySelector('.emoji-container')

let html = ``

for (let i = 0; i < arr.length; i++) {

html += `${arr[i]}`

}

let edit = document.querySelector('.edit')

let range

edit.onclick = function() {

range = window.getSelection().getRangeAt(0)

}

edit.oninput = function() {

range = window.getSelection().getRangeAt(0)

// editF(edit.innerHTML)

}

container.innerHTML = html

let emojis = document.querySelectorAll('span')

for (let i = 0; i < emojis.length; i++) {

emojis[i].onclick = function() {

let newNode = document.createElement('span')

newNode.innerText = this.innerText

range.collapse()

range.insertNode(newNode)

}

}

以上案例来自于李同学新直能分支调二浏页器朋代说~

本文来源于网络:查看 >https://www.cnblogs.com/yiyi17/p/9619570.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值