0

我已经构建了一个基于动态目的的表单字段中继器,但是在 jQuery 单击事件功能上遇到了一些困难。

你可以在这里观看我的代码- http://leading-people.com/resources/form/

单击时,我只想在其自己的父td中克隆输入字段一次。在这种情况下,仅适用于已经显示的输入字段,然后为动态创建的字段分配点击事件的功能

问题是,当我创建一次动态字段时,它会完美地创建一个克隆,动态生成的输入字段也会发生同样的情况,但是当我按下旧输入字段(在初始阶段已经产生)时,它会克隆多次。

尝试了许多与此问题类似的其他方法,但无法通过它。我在 SO 上发现的类似问题,但这些对我一点帮助都没有。

4

1 回答 1

0

干得好:

$(document).ready(function(){    
    $("table").on("click","input",function(){
        var dd = new Date(),
            ddClass= dd.getDate()+"-"+dd.getSeconds();

        $(this).clone().attr("class",ddClass).appendTo($(this).parent());
    });        
});​

Jsfiddle在这里:http: //jsfiddle.net/CLyRc/4

在这段代码中,我们使用该表来侦听内部输入字段上的任何点击事件,然后简单地克隆该点击输入并将其附加到父级(在本例中为<td>标记)。

在您的代码中,您似乎在向所有输入字段重复添加事件侦听器,而在我的示例中,我们使用事件委托在任何输入字段上仅侦听一次事件,无论是否动态添加。

于 2012-11-21T13:33:38.717 回答