博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue @user 组件
阅读量:6529 次
发布时间:2019-06-24

本文共 1900 字,大约阅读时间需要 6 分钟。

复制代码
复制代码
export function scrollIntoView(el, scrollParent) {	if(el.scrollIntoViewIfNeeded) {		el.scrollIntoViewIfNeeded(false) // alignToCenter=false	} else {		const diff = el.offsetTop - scrollParent.scrollTop		if(diff < 0 || diff > scrollParent.offsetHeight - el.offsetHeight) {			scrollParent = scrollParent || el.parentElement			scrollParent.scrollTop = el.offsetTop		}	}}export function applyRange(range) {	const selection = window.getSelection()	if(selection) { // 容错		selection.removeAllRanges()		selection.addRange(range)	}}export function getRange() {	const selection = window.getSelection()	if(selection && selection.rangeCount > 0) {		return selection.getRangeAt(0)	}}export function getAtAndIndex(text, ats) {	return ats.map((at) => {		return {			at,			index: text.lastIndexOf(at)		}	}).reduce((a, b) => {		return a.index > b.index ? a : b	})}export function getOffset(element, target) {	target = target || window	var offset = {			top: element.offsetTop,			left: element.offsetLeft		},		parent = element.offsetParent;	while(parent != null && parent != target) {		offset.left += parent.offsetLeft;		offset.top += parent.offsetTop;		parent = parent.offsetParent;	}	return offset;}export function closest(el, predicate) {	do		if(predicate(el)) return el;	while (el = el && el.parentNode);}// http://stackoverflow.com/questions/15157435/get-last-character-before-caret-position-in-javascript// 修复 "空格+表情+空格+@" range报错 应设(endContainer, 0)// stackoverflow上的这段代码有bugexport function getPrecedingRange() {	const r = getRange()	if(r) {		const range = r.cloneRange()		range.collapse(true)		range.setStart(range.endContainer, 0)		return range	}}复制代码

转载地址:http://xzxbo.baihongyu.com/

你可能感兴趣的文章
python 获取进程pid号
查看>>
链表中插入一个节点的三种情况
查看>>
洛谷.4180.[模板]次小生成树Tree(Kruskal LCA 倍增)
查看>>
TCL函数“参数自动补全” 与 “help 信息显示”
查看>>
POJ1050To the Max
查看>>
汇编基础--标识符、标号、伪指令和指令
查看>>
泥鳅般的const(一个小Demo彻底搞清楚)
查看>>
event.srcElement获得引发事件的控件(表单)
查看>>
ASP.NET MVC铵钮Click后下载文件
查看>>
SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别
查看>>
基本数据结构 - 栈和队列
查看>>
Linux软中断、tasklet和工作队列
查看>>
如何解决ORA-28002 the password will expire within 7 days问题(密码快过期)
查看>>
Asp.Net Core 轻松学-利用日志监视进行服务遥测
查看>>
LightSwitch社区资源搜集
查看>>
Android通讯录查询篇--ContactsContract.Data 二(续)
查看>>
IT人的自我导向型学习:开篇杂谈
查看>>
[原创]BizTalk动手实验系列目录
查看>>
HDU 4611Balls Rearrangement(思维)
查看>>
[LeetCode] Majority Element II
查看>>