当前位置:首页 > 经验 >

菜鸟教程javascript(零基础javascript教程)

来源:原点资讯(www.yd166.com)时间:2022-11-01 10:17:36作者:YD166手机阅读>>

菜鸟教程javascript,零基础javascript教程(1)

0x1. 起因

得到 APP 中有个文稿模块,这部分是内嵌的前端开发的 Web 页面,支持在客户端和微信中访问,其中有一个称为划线笔记的功能,就是长按文字之后,对选中的文字做标记,这是背景。

在一次需求迭代过程中,产品对划线笔记的功能提出了一些问题,比如为什么 iOS 和 Android 的样式不统一(用的是系统原生的长按选中),是不是可以实现单击就可以选中文字,是不是可以自定义样式,是不是可以正反选……

对前端有兴趣或者正在学习web前端的小伙伴,可以私信小编【学习】即可免费领取2018最新的一整套系统web前端学习教程!

听到这里我的内心是这样的

菜鸟教程javascript,零基础javascript教程(2)

本着跟产品友好相处的原则,我当即表示这个些需求很棒,我需要认真想一下怎么拒绝。

0x2. 分析

当然,想法归想法,做还是要想办法做的

菜鸟教程javascript,零基础javascript教程(3)

从产品的需求看,只有自己模拟一个系统的长按选中才可以满足产品现阶段及将来可能潜在的需求。如果模拟一个长按选中,大概需要解决这么几个问题:

  • 需要禁用系统的长按选择文字
  • 需要获取到点击字符的确切位置
  • 需要能够模拟选中时的矩形背景

0x3. 实现

针对刚才的分析,大概可以这样实现:

第一点,添加 user-select: none 的样式,这样可以直接禁用系统的文字选择;

第二点,能够间接或者直接获取字符位置的 dom API, 大概只有间接的通过 Range.getClientRects()

第三点,最初构思有两个方案,一个是直接在文字中插入标签,这样势必会改变整个 dom 的结构,对后续的标记造成影响,于是采用第二个方案,直接加一个 svg 层,通过 svg 的多边形和矩形来绘制

菜鸟教程javascript,零基础javascript教程(4)

这个方案有以下有点:

  • 自定义选择样式
  • 点击选中当前句子
  • 长按选中当前句子
  • 正向反向选择
  • 高亮标记选中的文字
  • ......

栏目热文

javascript教程零基础(javascript全套教程)

javascript教程零基础(javascript全套教程)

怎么自学javascript?下面本篇文章就来给大家介绍一下系统学习JavaScript的方法。有一定的参考价值,有需要...

2022-11-01 10:20:49查看全文 >>

javascript实例教程(javascript 开发实例)

javascript实例教程(javascript 开发实例)

摘要: 本篇文章教你如何使用JavaScript在浏览器中完整地定义、训练和部署机器学习算法。虽然它可能不是机器学习传统...

2022-11-01 09:33:58查看全文 >>

javascript全套自学教程(javascript语言入门自学)

javascript全套自学教程(javascript语言入门自学)

你应该已经知道,没有什么简单方法可以创建有效且跨浏览器的JavaScript 代码,除了编写整洁代码的常规挑战外,我们还...

2022-11-01 09:48:26查看全文 >>

javascript开发手册(javascript官方手册)

javascript开发手册(javascript官方手册)

JavaScript 是世界上最流行的编程语言之一。我相信这是您第一个绝佳选择的编程语言。我们主要使用JavaScrip...

2022-11-01 10:18:23查看全文 >>

javascript 菜鸟教程(javascript基础语法菜鸟教程)

javascript 菜鸟教程(javascript基础语法菜鸟教程)

/* * 创建文本框 * _id:文本框编号 * _text:文本框上的文字 * _x:文本框的x位置 * _y:文本...

2022-11-01 10:15:53查看全文 >>

js教程案例(js基础的简单例子)

js教程案例(js基础的简单例子)

小编为大家收集了11个web前端开发,大企业实战项目案例 5W行源码!拿走玩去吧!获取途径:转发 关注并私信小编:“前端...

2022-11-01 10:01:34查看全文 >>

javascript从入门到精通(javascript全套教程)

javascript从入门到精通(javascript全套教程)

JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页...

2022-11-01 09:44:43查看全文 >>

js基础知识点汇总(js基础学完了感觉跟没学一样)

js基础知识点汇总(js基础学完了感觉跟没学一样)

前端知识点总结——JS基础1.javascript概述(了解)1.什么是javascriptjavascript简称为j...

2022-11-01 10:00:42查看全文 >>

javascript教程文档(javascript基础语法入门)

javascript教程文档(javascript基础语法入门)

讲一下HTML中文件标签和文本标签的使用目的是学会使用,所以借助工具可以省好多时间1.文件标签:构成html最基本的标签...

2022-11-01 09:35:36查看全文 >>

javascript 技巧(javascript正确使用)

javascript 技巧(javascript正确使用)

过去的几年中,Python已成为机器学习和深度学习的首选编程语言。与机器学习和深度学习相关的大多数书籍和在线课程要么只...

2022-11-01 09:59:45查看全文 >>

文档排行