Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.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/1/angularjs/20.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绑定事件_Javascript_Jquery_Html_Events - Fatal编程技术网

Javascript 添加动态元素后的JQuery绑定事件

Javascript 添加动态元素后的JQuery绑定事件,javascript,jquery,html,events,Javascript,Jquery,Html,Events,动态添加元素后,我遇到了一个问题,因为它没有单击事件,因此我有以下问题: $(".myclass > li").click(function () { ... }); 所以基本上,当我点击LI元素时,应该会发生一些事情,并且它会起作用 但当我向myclass添加一个新的LI元素(即UL元素)时,这个新添加的元素不会调用这个函数 我的问题是如何将这个新元素重新绑定或绑定到此函数 因为当我点击其他元素时,它们工作,但只有新元素不工作。。。我假设绑定发生在回发或其他情况下,但在我的情况

动态添加元素后,我遇到了一个问题,因为它没有单击事件,因此我有以下问题:

$(".myclass > li").click(function () {
    ...
});
所以基本上,当我点击LI元素时,应该会发生一些事情,并且它会起作用

但当我向myclass添加一个新的LI元素(即UL元素)时,这个新添加的元素不会调用这个函数

我的问题是如何将这个新元素重新绑定或绑定到此函数

因为当我点击其他元素时,它们工作,但只有新元素不工作。。。我假设绑定发生在回发或其他情况下,但在我的情况下没有回发:/

需要用于支持动态元素

$(".myclass").on('click', '> li' function () {
    ...
});
需要使用来支持动态元素

$(".myclass").on('click', '> li' function () {
    ...
});
你需要使用。您必须使用委托事件方法

i、 e

就你而言

$(document).on('click', '.myclass > li', function () {
    ...
});
或者,如果要应用于所有列表项:

$(".myclass").on('click', '> li', function () {
    ...
});
你需要使用。您必须使用委托事件方法

i、 e

就你而言

$(document).on('click', '.myclass > li', function () {
    ...
});
或者,如果要应用于所有列表项:

$(".myclass").on('click', '> li', function () {
    ...
});

由于元素是在绑定事件后添加的,因此它没有附加处理程序,并且
bind
函数不会侦听可能添加的任何新元素

因此,您需要使用事件委派。当事件触发时,它将一直冒泡到父文档。使用jQuery
.on()
函数,您可以侦听从目标中冒出的事件

在您的情况下,您应该使用以下选项:

$(".myclass > li").click(function () {
    ...
});
$(父项).on(“单击”,“li”,function(){…})

上面将侦听
单击
元素上发生的
事件,并冒泡到
父元素
。在事件处理程序
中,此
将引用触发事件的
li
元素。如果您不认识家长,您可以收听
文档


您可以了解有关
.on()
函数的更多信息。

由于元素是在绑定事件后添加的,因此它没有附加处理程序,并且
绑定
函数不会侦听可能添加的任何新元素

因此,您需要使用事件委派。当事件触发时,它将一直冒泡到父文档。使用jQuery
.on()
函数,您可以侦听从目标中冒出的事件

在您的情况下,您应该使用以下选项:

$(".myclass > li").click(function () {
    ...
});
$(父项).on(“单击”,“li”,function(){…})

上面将侦听
单击
元素上发生的
事件,并冒泡到
父元素
。在事件处理程序
中,此
将引用触发事件的
li
元素。如果您不认识家长,您可以收听
文档


您可以了解更多有关
.on()
函数的信息。

可能重复您是如何遗漏该问题的,标题几乎与您的相同?当我在“提问”页面中键入您的标题时,建议框中会显示数十个其他相同的问题。可能重复您是如何遗漏该问题的,标题与您的几乎完全相同?当我在提问页面中简单地键入您的标题时,建议框中会显示几十个其他相同的问题。