如何将文本列表附加到文本区域?
<textarea id="alltext"></textarea>
<ol>
<li onclick="addText(Hello')">Hello</li>
<li onclick="addText(World')">World</li>
<li onclick="addText(Earthlings')">Earthlings</li>
</ol>
<script>
var Alltext = "";
function addText(text) {
Alltext += text
}
document.getElementById("alltext").value = Alltext;
</script>
这是非常低效的,因为列表实际上很长。添加的文本正是我在 HTML 中看到的值,因此无需输入两次,对吗?
有没有更好的方法?
最佳答案
通过分配 onclick
使用事件委托(delegate)到 <ol>
.然后通过 event
对象作为参数,并使用它从单击的元素中获取文本。
function addText(event) {
var targ = event.target || event.srcElement;
document.getElementById("alltext").value += targ.textContent || targ.innerText;
}
<textarea id="alltext"></textarea>
<ol onclick="addText(event)">
<li>Hello</li>
<li>World</li>
<li>Earthlings</li>
</ol>
请注意,这种传递 event
的方法对象适用于较旧的 IE 以及符合 W3 的系统。
关于javascript - 使用javascript将文本附加到textarea,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14444938/