javascript - 更改元素的内部文本是否会干扰其子元素?(音频元素的问题)
问题描述
我有这个 Track 组件,我希望能够从中播放预览音频。
const Track = props => {
const handlePreview = e => {
if (!props.track.preview) {
e.target.innerText = 'No preview available';
return;
}
e.target.children[0].paused
? e.target.children[0].play()
: e.target.children[0].pause();
}
return (
<div className='preview' onClick={handlePreview}>
Preview
<audio src={props.track.preview}>Audio not supported</audio>
</div>
)
我希望能够根据预览是否正在播放,在“预览”和“点击暂停”之间切换 div 的内部文本。出于某种原因,如果我添加代码来执行此操作,播放和暂停方法将停止工作。我尝试使用 ref 而不是“e.target.children[0]”,但它也不能正常工作(我第一次点击时,什么都没有发生,但在那之后,每次点击它都会播放和暂停)。我说不出有什么问题。帮助?
解决方案
推荐阅读
- io - 用逗号保存文件时在 julia 中使用 JLD2 加载文件
- python - 如何解析列中包含字典行的数据框
- javascript - 在浏览器中显示 .hdr Uint8Array 图像
- mongodb - 通过 ID 查询文档比通过 MongoDB 中的嵌入式文档查询更快
- javascript - 如何使用拆分将短语作为一个元素添加到数组中?
- c# - 为什么 Windows.UI.Composition AnimationController.Progress 总是返回零?
- django-templates - 带有 jinja2 模板的 django allauth
- python - 在提交数据表单期间,我可以使用 Python 在 MongoDB 中获取 ObjectID
- python - 置信区间和图例
- firebase - Flutter Cloud Firestore 编译报错:CloudFirestorePlugin.java 使用未经检查或不安全的操作