当点击"输入键盘按钮"?

时间:2017-03-15 13:34:37

标签: javascript jquery html copy enter

< p>当我按下输入键盘按钮时,如何复制到复制换行符时如何制作它是一个精确的副本? 现在它可以工作,但是当按下输入键盘按钮时它不会复制换行符。而且我希望它能像现在一样工作而不会被剥离。< / p> < p>< strong>注意因为前一个误解我澄清了它:< / strong>请不要混淆"将texatea复制到div"因为这与"将div应用到textarea"是不一样的,因为代码适用于"将texatea复制到div"不能和#34;将div应用到textarea"。我需要"将div应对到textarea"而不是相反。< / p> < p>< strong>我想:div< / strong>进入< strong>文本< / strong>< / p> < p>< strong> NOT:text< / strong>进入< strong> div< / strong>< / p> &LT p为H.;<强> JavaScript的:其中/强>< / p为H. < pre>< code> function copyText(){   $("#文本&#34)。VAL($("#divtext")文本()) } < /代码>< /预> &LT p为H.;<强> HTML:其中/强>          < / p为H. < pre>< code>< textarea name =" text" ID ="文本"行=" 14" COLS =" 54"涡卷="软">< / textarea的> < /代码>< /预>

3 个答案:

答案 0 :(得分:1)

您也可以查找enter keydown:

<script>
function onTextChange() {
    var key = window.event.keyCode;

    // If the user has pressed enter
    if (key === 13) {
        document.getElementById("text").value = document.getElementById("text").value + "\n*";
        return false;
    }
    else {
        return true;
    }
}
</script>
<div id="yourDiv" onkeypress="onTextChange();"></div>

答案 1 :(得分:1)

如果您使用div,很难从.text()获得换行符,请尝试使用.html()

<br>拆分div并使用\n加入textarea

$('#text').val($('#divtext').html().split('<br>').join('\n'))

答案 2 :(得分:0)

正在进行更新

我使用了我得到的答案中的代码,但我不得不修改它以使其正常工作,因为我得到的答案是不完整的。因为我希望代码被复制但没有被剥离,所以需要做的是将其剥离为默认值然后再次将其剥离,以便在键入源代码时显示为源代码,而不是条带化文本。

所以这里有完整的答案,以及我如何通过我得到的不完整的答案来实现它。这段代码有效。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script language="javascript" type="text/javascript">
function copyText() {
  $('#text').val($('#divtext').html()
  .split('<br>').join('')
  .split('<div>').join('\n')
  .split('</div>').join('')
  .split('&lt;').join('<')
  .split('&gt;').join('>')
  .split('&nbsp;').join(' ')
  .split('&amp;').join('&')
  )
}
</script>

<div id="divtext" contentEditable="true" wrap="soft" style="text-align:left; width: 499px; height: 230px;" onkeyup="copyText();"></div>
<br>
<textarea id="text" rows="34" cols="134" wrap="soft"></textarea>