我尝试允许用户单击span元素,并根据他们键入的内容沿着原始的textcontent来更改文本。
container.addEventListener('click', (event) => {
if (event.target.classList.contains('targetSpan')){
targetSpanText = event.target.textContent;
document.addEventListener("keydown", (event) => {
targetSpanText.textContent += `${event.key}`;
});
}
});
虽然keydown事件侦听器正在工作,但textcontent似乎没有更新。
2条答案
按热度按时间6tr1vspr1#
使用
contenteditable
attribute似乎适合这种情况:下面是第二个示例(由此注解提示),其中包含用于切换模拟明文模式的checkbox控件:
一个一个二个一个一个一个三个一个一个一个一个一个四个一个
0yycz8jy2#
我认为建议使用document的getElementById()方法来操作span标签的内容。看起来你的代码没有使用它。为什么你可能没有得到你期望的结果。
在这篇文章How do I change the text of a span element using JavaScript?中有几个改变span元素中的文本的例子