Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.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
Javascript 如何让jquery识别使用.on动态创建的元素?_Javascript_Jquery - Fatal编程技术网

Javascript 如何让jquery识别使用.on动态创建的元素?

Javascript 如何让jquery识别使用.on动态创建的元素?,javascript,jquery,Javascript,Jquery,我使用以下代码开始动画过程: $('body').on('click','#contain span', function(){ var $target = $(this).parent().children('#contain_inner'); flyout.fadeOldBox($target); flyout.createBox(); }) 弹出按钮.createbox()然后创建#contain_internal的

我使用以下代码开始动画过程:

$('body').on('click','#contain span', function(){
            var $target = $(this).parent().children('#contain_inner');
            flyout.fadeOldBox($target);
            flyout.createBox();
})
弹出按钮.createbox()
然后创建
#contain_internal
的新实例,但当我上面的单击函数再次尝试将其作为目标时,该新实例不可用。我知道,如果我使用
.live
的话,一切都会好起来的,但现在这种做法已经被弃用了,我真的不知道如何使用
.on
来完成我在这里需要的东西

我知道我已经在使用上面的
.on
进行单击,但我仍然不知道如何将其绑定到新的
\contain\u inner
div,该div将在
弹出按钮.createBox()中创建

编辑:显示弹出型按钮。createBox()代码…现在一切正常

createBox: function(){
            $box = $('<div id="feed_contain_inner"></div>'); //was accidentally creating that as div class= instead of the id
            $box.load('example')
            $box.appendTo('#contain');
            flyout.positionBox($box);

    }
createBox:function(){
$box=$(“”);//意外地将其创建为div class=而不是id
$box.load('示例')
$box.appendTo(“#contain”);
弹出式位置框($box);
}

这与live相同:

$(document).on('click', '.yourslector', callback);

是否在
$(文档).ready()中设置
.on()
?如果它设置在
$(document).ready()之外,则仅在新元素上触发它。

根据它的声音,您正在使用多个ID。使用classes.flyout.fadeOldBox实际上做什么。。它是一个插件吗??如果是,你可以发布链接吗?新的div#contain(包含)内部实例在哪里创建。。?我的意思是在哪个家长的领导下。。?理想情况下,您应该共享导致问题的flyout.createBox()代码。@kent…当我意识到问题时,我正要共享flyout.createBox代码。我使用class=“container\u internal”而不是div id创建了新的div,所以现在一切都正常。但无论如何,我会发布flyout.createBox。