jQuery为动态内容之前生成的内容触发多个事件

时间:2012-11-21 12:35:44

标签: jquery-selectors jquery

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

您可以观看我的code here - http://leading-people.com/resources/form/

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

  

问题在于,当我创建一次动态字段时,它将完美地创建克隆,并且动态生成的输入字段也会发生相同的情况,但是何时按下长老输入字段(已在初始阶段生成) )它多次克隆。

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

1 个答案:

答案 0 :(得分: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>标记)。

在您的代码中,看起来您反复向所有输入字段添加事件侦听器,而在我的示例中,我们使用事件委派仅在任何输入字段上侦听事件,动态添加或不添加。