0

当我使用 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>
4

2 回答 2

0

看起来您正在寻找的不仅仅是一个普通的克隆,而是更像一个深拷贝的东西。

从以下网址下载 deepCopy.js:http: //oranlooney.com/deep-copy-javascript/

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

var myCopiedItem = owl.deepCopy(myItem)

希望这可以帮助!

于 2012-08-17T01:29:10.713 回答
-1

尝试像这样克隆:

.clone(true, true)

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

$('selector').data('events')
于 2012-08-16T21:47:01.533 回答