jQuery .clone changes onchange to onclick

jQuery .clone changes onchange to onclick

本文关键字:to onclick onchange changes clone jQuery      更新时间:2023-09-26

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

看起来您正在寻找的不仅仅是常规克隆,而更像是深层副本。

下载deepCopy.js来自: http://oranlooney.com/deep-copy-javascript/

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

var myCopiedItem = owl.deepCopy(myItem)

希望这有帮助!

尝试像这样克隆:

.clone(true, true)

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

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