gpt4 book ai didi

javascript - jquery 克隆 + 实时问题

转载 作者:行者123 更新时间:2023-11-28 02:10:16 26 4
gpt4 key购买 nike

我有一段 html,我想在新复制的 block 特定处理程序中复制和分配特定选择。我的问题是处理程序被触发 n 次我复制这个 block 。有什么调试这个麻烦的建议吗? (总 list :total listing)

J查询代码:

"appendNewBlockTo" : function(oAppendTo, sFilterByCName){
var iIndex = $("." + sFilterByCName).length/2;
var oNewPlayerCS = $("#" + this.sTemplateBlockID).clone(false);


// alter template before copying
$(oNewPlayerCS).find("." + this.sClassListboxCName).addClass(sFilterByCName).attr('index', iIndex).live($.browser.msie ? 'click' : 'change', function(){PlayerCS.enableSListbox(sFilterByCName, iIndex);});
$(oNewPlayerCS).find("." + this.sSpecListboxCName).addClass(sFilterByCName).attr('index', iIndex);
$(oNewPlayerCS.removeAttr('id').removeAttr('style')).appendTo(oAppendTo);
},

要多次复制的 HTML block :

<div id="playerCSTemplate" style="display:none;">
<select class="class_listbox">
<option selected="selected" value="0">Class</option>
<option class="class_value" value="1">mage</option>
<option class="class_value" value="2">priest</option>
</select>

<select class="spec_listbox" disabled>
<option value="0">Unknown</option>
<option class="spec_class class_specs_1">Frost</option>
<option class="spec_class class_specs_1">Fire</option>
<option class="spec_class class_specs_2">Holy</option>
<option class="spec_class class_specs_2">Shadow</option>
</select>
</div>

最佳答案

您正在使用 clone(true) - true 表示应克隆元素以及它们在其上设置的事件。然后,您将向克隆中添加更多事件,从而产生重复。

将行更改为:

var oNewPlayerCS = $("#" + this.sTemplateBlockID).clone(false); 

或者如果需要,您可以省略 false,因为它是默认值。

或者,您可以保留 clone(true) 并且不向其中添加事件。

关于javascript - jquery 克隆 + 实时问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8790216/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com