javascript - Rangy:如何实现多重风格?
问题描述
我使用Rangy在我的网页中突出显示文本。有没有办法设置多种样式供用户选择突出显示文本?例如,当用户单击一些黄色突出显示时,我使用 getHighlightForElement() 方法获取所有文本,但我不知道如何更改颜色类/ID?或任何其他方式的建议?谢谢你 !
解决方案
下面的代码是一个简单的样式表交换器。当您单击“Highlight 1”按钮时,它将加载一个名为“highlight1.css”的样式表。当您单击不同的按钮时,样式表将被换出。
<html lang="en">
<head>
<link href="default_highlight.css" rel="stylesheet" type="text/css" id="highlight">
<script>
function setHighlight1() {
const highlight = document.getElementById('highlight');
highlight.href = 'highlight1';
}
function setHighlight2() {
const highlight = document.getElementById('highlight');
highlight.href = 'highlight2';
}
function setHighlight3() {
const highlight = document.getElementById('highlight');
highlight.href = 'highlight_3.css';
}
</script>
</head>
<body>
<button onclick="setHighlight1()">Highlight 1</button>
<button onclick="setHighlight2()">Highlight 2</button>
<button onclick="setHighlight3()">Highlight 3</button>
</body>
</html>
希望这能回答你的问题。
推荐阅读
- vue.js - 如何在 VSCode 中为继承的 VueJS 组件的属性添加智能感知?
- python - Python requests 库每次都会创建新的连接
- python - Django 密码验证器:如果任何三个验证通过用户可以继续
- android - 如何修复实体和 POJO 必须具有可用的公共构造函数
- molecule - 使用verifier = testinfra时输出'def'标题
- python - 无法安装图形实验室
- c# - 如何在 .netcore 服务中创建绕过机制?
- c - 用于 C 和 C++ 编译的 Automake 宏中子 shell 调用(通过“反引号”)的目的
- javascript - 为什么我们需要运行一些服务器来运行客户端反应应用程序进行生产?
- r - pheatmap annotation_colors 未使用指定的调色板