我试图在按下按钮时将类添加到所选文本。现在,出于某种原因,我的代码在按下按钮时将该类应用于按钮,但我希望它应用于选定的文本本身。将CSS类应用于内容中的选定文本可编辑div
这是我有:
我需要的按钮是一个div
,这可能可能是问题,但我只是想突出显示的文本,以获取类,而不是按钮。
谢谢...
function addAnimation() {
document.execCommand('formatblock', false, 'span');
selectedElement = window.getSelection().focusNode.parentNode;
selectedElement.className += "grad";
}
.textField {
background: #333;
color: #fff;
width: 300px;
height: 300px;
}
.grad {
-webkit-animation: changeColor 8s ease-in infinite;
animation: changeColor 8s ease-in infinite;
}
@-webkit-keyframes changeColor {
0% {color: #ff7473;}
25% {color: #ffc952;}
50% {color: #fc913a}
75% {color: #75D701;}
100% {color: #ff7473}
}
<div class="textField" contenteditable="true">Hello world. Select this text and press the button</div>
<div onclick="addAnimation()">Animate
</div>
当你点击按钮时,它比选定的元素更宽泛,以防止它。 – skobaljic