jQuery .clone将onchange更改为onclick

时间:2012-08-16 21:42:07

标签: javascript jquery html clone

当我使用jQuery克隆一个对象时,如果它是一个选择'onchange'事件更改为'onclick'。如何使用jQuery克隆元素,保留所有属性和事件?已经使用过.clone(true)。

以下是JS的代码:

function addNovoPasseio (obj){
    newobj=$(".passeios").clone(true);
    $(newobj).find("*").removeAttr('id');
    $(newobj).insertBefore("#addPasseio");
}

这是我想要克隆的HTML代码:

<div class="passeios">
    <div class="select-cidade">
         <label for="cidade">Cidade</label>
         <select name="cidade" id="cidade" onchange="getBairros(this,$(this).parent().next().find('select'));" class="select-obr">
             <option value="-1">&nbsp;</option>
             <option>Cidades</option>
         </select>
    </div>
</div>
<div class="botoeira" id="addPasseio"><button onclick="addNovoPasseio(this);">New</button></div>

2 个答案:

答案 0 :(得分:0)

看起来你正在寻找的不仅仅是一个普通的克隆,而是更像是一个深层复制品。

http://oranlooney.com/deep-copy-javascript/

下载deepCopy.js

然后您可以使用以下内容创建精确副本:

var myCopiedItem = owl.deepCopy(myItem)

希望这有帮助!

答案 1 :(得分:-1)

尝试像这样克隆:

.clone(true, true)

您始终可以检查绑定到元素的事件:

$('selector').data('events')