如何将文本列表附加到文本区域?
<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>
Run Code Online (Sandbox Code Playgroud)
由于列表实际上非常长,因此效率非常低.添加的文本正是我在HTML上看到的值,所以没有必要输入两次吧?
有没有更好的方法?
the*_*tem 55
通过指定使用事件委托onclick给<ol>.然后传递event对象作为参数,并使用它,从单击的元素中获取文本.
function addText(event) {
var targ = event.target || event.srcElement;
document.getElementById("alltext").value += targ.textContent || targ.innerText;
}Run Code Online (Sandbox Code Playgroud)
请注意,这种传递event对象的方法适用于较旧的IE以及符合W3的系统.
小智 6
试试看:
<!DOCTYPE html>
<html>
<head>
<title>List Test</title>
<style>
li:hover {
cursor: hand; cursor: pointer;
}
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("li").click(function(){
$('#alltext').append($(this).text());
});
});
</script>
</head>
<body>
<h2>List items</h2>
<ol>
<li>Hello</li>
<li>World</li>
<li>Earthlings</li>
</ol>
<form>
<textarea id="alltext"></textarea>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
92456 次 |
| 最近记录: |