Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery .on()不适用于动态创建的元素_Jquery - Fatal编程技术网

Jquery .on()不适用于动态创建的元素

Jquery .on()不适用于动态创建的元素,jquery,Jquery,所以我对这个问题有点困惑。他们使用时,我正在复制这个选择。我们的目标是让更多的球员加入一个团队。如果他们添加一个,则会创建另一个选择。如果他们添加了第二个玩家,则会创建第三个选择 目前,它仅在第一次选择更改时复制。.on()不应该应用于javascript解析和绑定后动态创建的所有元素吗?如何使其仅适用于最近添加的选择?提前感谢您的时间 JQuery $(document).ready(function(){ another = $('#addplayers'); $('.add

所以我对这个问题有点困惑。他们使用时,我正在复制这个选择。我们的目标是让更多的球员加入一个团队。如果他们添加一个,则会创建另一个选择。如果他们添加了第二个玩家,则会创建第三个选择

目前,它仅在第一次选择更改时复制。
.on()
不应该应用于javascript解析和绑定后动态创建的所有元素吗?如何使其仅适用于最近添加的
选择
?提前感谢您的时间

JQuery

$(document).ready(function(){
    another = $('#addplayers');
    $('.addplayer').on('change', function(){
        another.clone().removeAttr('id').appendTo($(this).closest('.form-horizontal'));
        $(this).removeClass('addplayer');
    });
});
HTML


添加玩家

您需要使用以下方法为应用正确的语法:

$(document.body).on('change', '.addplayer', function(){
而不是:

$('.addplayer').on('change', function(){

我的理解是,新版本的jquery不推荐使用这种方法。尝试
.on()
并不是不推荐的,您只是在以正确的方式应用它时犯了一个错误。我的意思是,使用
$(document.body).on('change','addplayer',function()){
这种事件委派方法。@Aarmora一点也不反对。@dystroy现在正在搜索文档。它确实在我的页面上工作,正如Felix所建议的那样,所以我只是想知道为什么我会这样想,并开始像以前那样编写代码。
.live()
$('.addplayer').on('change', function(){