0

当 div 中的输入元素处于焦点时按下 enter 时,我需要复制 div 的帮助

所以有一个 div 里面有一个输入元素。我需要复制这个 div 并将其放在现有 div 的正下方,只要在光标位于输入元素中时按下 enter。

不使用 jquery 的解决方案会有很大帮助。

谢谢

4

3 回答 3

3

这是一个高级概述......

  • 监听元素keypress上的事件,for of 。inputkeyCode13
  • 用于cloneNode()克隆节点。
  • 使用最合适的节点插入方法,例如appendChild()插入克隆的元素。
于 2012-10-29T05:29:19.287 回答
1

试试这个

演示

<div id='container'>
<div id='div1'>
<input type='text' onkeyup='clone_element(event)' />
</div>
</div>

<script>
function clone_element(evt) {
var charCode = (evt.which) ? evt.which : event.keyCode
if(charCode == 13){
 var cDiv = document.getElementById("div1");
        var clonedDiv = cDiv.cloneNode (true);
        clonedDiv.id = "";
        var container = document.getElementById ("container");
        container.appendChild(clonedDiv);
}
}
</script>  
于 2012-10-29T05:54:13.573 回答
0

您可以使用以下函数来克隆 div。这很可能是 Alex 提到的解决方案。我已经添加了代码。

function cloning(divid) {
    var container = document.getElementById(divid);
    var clone = document.getElementById('div_0').cloneNode(true);
    clone.setAttribute('id','div_'+document.getElementById(divid).getElementsByTagName('div').length);
    container.appendChild (clone);
}

当你按下回车键时调用上面的函数。

<script language = "javascript">
function searchKeyPress(e)
    {
    // look for window.event in case event isn't passed in
     if (typeof e == 'undefined' && window.event) { e = window.event; }
     if (e.keyCode == 13)
      {
        alert("Enter received");
        cloning('divid');
      }
    }   

</script>

<input type="text" onkeydown="searchKeyPress()">
于 2012-10-29T05:39:20.267 回答