2016-08-10 29 views
1

我想找到一种方法来点击一个textarea的各行并将它们移动到不同的位置。我有运动的一部分,但无法找到任何信息,如果它可能只做单行。感谢您的任何意见。是否可以使用HTML或JavaScript处理textarea的各行?

http://jsbin.com/vinuvopimo/edit?html,js,output

<html> 
<body> 



<textarea id="input"> Click me.</textarea> 
<textarea id="output"> </textarea> 

<script> 

document.getElementById("input").onclick = function() {myFunction()}; 



function eraseText() { 
     document.getElementById("input").value = ""; 

    } 

function myFunction() { 

    var InputVar = document.getElementById("input").value; 
    var OutputVar = document.getElementById("output"); 

     OutputVar.value = InputVar; 

// cleanup  
eraseText();  
} 

</script> 

</body> 
</html> 
+1

没有必要使用匿名包装功能。你可以使用'onclick = myFunction;' – 4castle

+0

你想将文本区域的内容分割成一个数组,操作数组,然后使用'join'将它们放回到一起。这可能会帮助你:http://stackoverflow.com/questions/21895233/how-in-node-to-split-string-by-newline-n –

+0

你在某处插入换行符(或其他分隔符)吗?否则,它实际上是由浏览器包装的一行。更改jsbin中textarea的大小会改变'行数'的数量。 – Quotidian

回答

0

如果你想操纵单个线 - 你要搞清楚究竟在那里用户点击。有几个选项:

最简单的方法 - 将左输入分为许多行输入(视觉上你可以操纵css让它看起来像一个组件),比你可以创建逻辑在任何地方移动行。

如果你想留在单个textarea中,你可以获得鼠标事件y坐标并计算行号。

http://jsbin.com/xirinocora/1/edit?html,js,output

+0

感谢您的信息,我会玩弄这些想法。 – Pyreal

相关问题