- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试制作一个简单的文本编辑器,以便用户能够加粗/取消加粗所选文本。我想使用 Window.getSelection()
而不是 Document.execCommand()
。它完全符合我的要求,但是当您将任何文本加粗时,就无法取消加粗。我希望它能够加粗和取消加粗任何选定的文本。我尝试了几件事但没有成功。
function addBold(){
const selection = window.getSelection().getRangeAt(0);
const selectedText = selection.extractContents();
const span = document.createElement("span");
span.classList.toggle("bold-span");
span.appendChild(selectedText);
selection.insertNode(span);
};
.bold-span {font-weight: bold;}
<p contentEditable>Bold anything here and unbold it</p>
<button onclick="addBold()">Bold</button>
最佳答案
这与您想要的很接近,但是将单词组合在一起,因此取消选择将从整个单词中删除。由于我必须离开,因此无法完成此操作,但这应该是一个很好的起点。
function addBold(){
const selection = window.getSelection().getRangeAt(0);
let selectedParent = selection.commonAncestorContainer.parentElement;
//console.log(parent.classList.contains("bold-span"))
//console.log(parent)
let mainParent = selectedParent;
if(selectedParent.classList.contains("bold-span"))
{
var text = document.createTextNode(selectedParent.textContent);
mainParent = selectedParent.parentElement;
mainParent.insertBefore(text, selectedParent);
mainParent.removeChild(selectedParent);
mainParent.normalize();
}
else
{
const span = document.createElement("span");
span.classList.toggle("bold-span");
span.appendChild(selection.extractContents());
//selection.surroundContents(span);
selection.insertNode(span);
mainParent.normalize();
}
//selection is set to body after clicking button for some reason
//https://stackoverflow.com/questions/3169786/clear-text-selection-with-javascript
if (window.getSelection) {
if (window.getSelection().empty) { // Chrome
window.getSelection().empty();
} else if (window.getSelection().removeAllRanges) { // Firefox
window.getSelection().removeAllRanges();
}
} else if (document.selection) { // IE?
document.selection.empty();
}
};
.bold-span {font-weight: bold;}
<p contentEditable>Bold anything here and unbold it</p>
<button onclick="addBold()">Bold</button>
关于javascript - 使用 Window.getSelection() 加粗/取消加粗所选文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63364212/
我一直在处理我的 richtextbox 但我遇到了一些奇怪的事情......我想把每一行的第一个词加粗 使用此代码: RichTextBox bold = richTextBox1;
我在网上寻找加粗 NSString 的方法,但它要么不存在,要么我似乎找不到。我只是想在 NSString 中加粗这个词,但到目前为止,我所做的还没有实现: NSString *player1Nam
我有一个 DataGridView 并且想要将 Header 文本设为粗体。我尝试将 ColumnHeaderDefaultCellStyle 更改为 DataGridViewCellStyle {
是否可以在 UIButton 中加粗字体?使用标签,它非常简单,例如: label.font = UIFont(name:"HelveticaNeue-Bold", size: 16.0) 但这不适用
是否可以将 NSString 设为粗体?如果是这样,怎么办?由于某种原因,我没有使用 UILabel 或 UIIextView。 最佳答案 NSString 保存字符串,但没有文本格式。我假设你可以使
我正在为我们的组织开发一个上传门户,当人们向我们的编码提交文件时,我希望它生成的 URL 为粗体。我对 HTML 和编码有基本的了解,但在尝试将生成的 URL (+file.getURL()) 粗体化
我在列表中显示一些内容以在 pdf 文件中显示它。 一切正常,但现在我希望列表项中的一些文本应该是粗体。 例如: 这是 ListItem 粗体 文本。 我该怎么做? 这是我的代码: List lst
我在一页上有一堆如下所示的 div。有没有办法在 css 中加粗第一行(在 之前)?因此,在这种情况下,我希望客户以粗体显示。 Customer John Doe 最佳答案 是的,您正在寻找:
$need_it_sooner = l( t('Need it sooner? Click here'), 'need-it-sooner', array( 'attribut
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Is there a way to style part of an input field’s value
我有一个 jquery 可以像这样更改链接的文本: if (urlfind > 0) { $('#linkurl').text('More info'); } 和 html: 我正在尝试为此
我正在尝试制作一个简单的文本编辑器,以便用户能够加粗/取消加粗所选文本。我想使用 Window.getSelection() 而不是 Document.execCommand()。它完全符合我的要求,
我正在尝试制作一个简单的文本编辑器,以便用户能够加粗/取消加粗所选文本。我想使用 Window.getSelection() 而不是 Document.execCommand()。它完全符合我的要求,
标题说明了一切。我想要实现的是检查菜单中的 onload url(多个 ul,因为它也有子菜单),如果它等于,则将其设为粗体并触发鼠标悬停事件: $(document).ready(function(
我正在创建一些 HTML/CSS 来显示一个键,但如果标题文本与元素文本相比,最终会出现奇怪的垂直错位。 经过大量试验,我发现问题似乎只发生在文本加粗时,而且只有在使用 Lucida Sans 字体时
我注意到,当我将 alpha 参数添加到 geom 时,当输出为 PDF 时,图表上的所有文本(轴标题等)都会变暗(几乎就像它们变得粗体一样)。这似乎与实际的 alpha 值无关。它使图表更难看,特别
我知道当属性在属性页中显示为粗体时,表示它已被修改。 https://msdn.microsoft.com/en-us/library/675f1588.aspx 我有一个 API,我们随附样本,我希
我有以下代码,我需要将 profile.userId 设为粗体: {{'intranet.profile.dashboard.lastLoggedIn' | messageBundle: p
我是一名优秀的程序员,十分优秀!