我有以下情况:
我有一个表格,其中的每个tr都有一个“复制”链接。当用户点击“复制”链接时,父级tr会被克隆并附加到表格中。现在的问题是,第一次单击事件可以正常触发,但第二次单击事件会触发两次,第三次单击事件会触发三次,以此类推。并且,由于我已经“克隆”了tr,我想将单击函数绑定到此克隆的tr的“复制”链接上,有什么解决方案吗?
我尝试过$('.copy-row-link').unbind('click').click(function() { /* the code */ });。
我已经阅读了类似的问题,但它们似乎不能解决我的问题。
我的代码:
我有一个表格,其中的每个tr都有一个“复制”链接。当用户点击“复制”链接时,父级tr会被克隆并附加到表格中。现在的问题是,第一次单击事件可以正常触发,但第二次单击事件会触发两次,第三次单击事件会触发三次,以此类推。并且,由于我已经“克隆”了tr,我想将单击函数绑定到此克隆的tr的“复制”链接上,有什么解决方案吗?
我尝试过$('.copy-row-link').unbind('click').click(function() { /* the code */ });。
我已经阅读了类似的问题,但它们似乎不能解决我的问题。
我的代码:
$(".copy-row-link").unbind('click').bind('click', function(e)
{
var strdata = 'class="viewtext" style="background-color:#FFFFFF;" id="highlight1733" onMouseOver="highlight(\'1733\');" onMouseOut="removehighlight(\'1733\');'
//var newTr = currTr.clone(true).addClass("viewtext").css( { "backgroundColor" : "#FFFFFF" } ).attr(;
var id = currTr.attr("id"); // currTr is set previously
var newId = id.replace("highlight", "");
//alert( newId );
newId = parseInt( newId );
newId += 1;
var newTr = currTr.clone()
.addClass("viewtext newAddedRow")
.css("backgroundColor", "#FFFFFF")
.attr('id', "highlight" + newId.toString() )
.mouseover(
function() {
highlight( newId );
}
)
.mouseout(
function() {
removehighlight( newId );
}
);
//newTr.appendTo( currTb );
newTr.hide();
newTr.insertAfter( "#" + id );
newTr.fadeIn(100);
newTr.attr('id', newId);
//e.stopPropagation();
//e.preventDefault();
//e.stopImmediatePropagation();
bindToTr(); // Bind to Tr calls this function again
return false;
});