jQuery更改参数的事件克隆元素的对象

时间:2013-09-18 09:55:59

标签: javascript jquery html dom javascript-events

在我用按钮克隆div后,我意识到我不能(也许)改变传递给按钮事件的参数。

居:

var containerdiv = $('<div></div>'); //DivCreation
//. . . . . .
$(containerdiv).attr('id', 'comcreation_' + idcom);//DivCreation Attrib ID
var clonebutton = $('<button/>') //First button Clone
    .text("Clone")
    .click(({div: containerdiv, idcom: id}), function (e) {
        totcloned++;
        var newcontainer = containerdiv.clone(true);
        $('#com' + e.data.idcom, newcontainer).text("Nuovo");
        $('input[name="comid"]', newcontainer).val(-1);
        $(newcontainer).attr('id', 'comcreation_' + 'clonediv' + totcloned);
        $('body').append(newcontainer);
    });
var savebutton = $('<button/>') //Save button
    .text("Save")
    .click(({div: containerdiv}), function (e) //"div:container" is parameter i need to change in cloned div
    {
        var div = $(e.data.div);
        //Selector on div to save data
        // . . . . .
    }
//. . . . . . .
containerdiv.append(savebutt);
containerdiv.append(clonebutton);
$('body').append(containerdiv);

当我第一次点击保存在未克隆的div上时,一切正确。 当我点击克隆div上的save时,save函数将NOT克隆的div作为参数而不是克隆的div。

如何将传递给savebutton事件的“div”更改为“cloned div”??

谢谢:)

1 个答案:

答案 0 :(得分:0)

改变

  var div = $(e.data.div);

  var div = $(this).parent(); 

解决了问题!

谢谢你:)