当我使用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"> </option>
<option>Cidades</option>
</select>
</div>
</div>
<div class="botoeira" id="addPasseio"><button onclick="addNovoPasseio(this);">New</button></div>
答案 0 :(得分:0)
看起来你正在寻找的不仅仅是一个普通的克隆,而是更像是一个深层复制品。
从http://oranlooney.com/deep-copy-javascript/
下载deepCopy.js然后您可以使用以下内容创建精确副本:
var myCopiedItem = owl.deepCopy(myItem)
希望这有帮助!
答案 1 :(得分:-1)
尝试像这样克隆:
.clone(true, true)
您始终可以检查绑定到元素的事件:
$('selector').data('events')