Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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$(';.someClass';)。单击(函数(){})是否仅适用于当前存在的元素?_Javascript_Jquery - Fatal编程技术网

Javascript jQuery$(';.someClass';)。单击(函数(){})是否仅适用于当前存在的元素?

Javascript jQuery$(';.someClass';)。单击(函数(){})是否仅适用于当前存在的元素?,javascript,jquery,Javascript,Jquery,因此,我不断地向图形中添加新的点,我希望它们都具有相同的单击功能。但当我跑的时候 $('.someClass').click(function(){}) 它仅适用于当前具有someClass的元素。如果我添加一个新的someClass元素,它就没有click侦听器 我该怎么做?每次添加元素时必须运行click函数吗?使用jQuery方法。使用jQuery方法 或更好地考虑方法。 或更好地考虑方法。 这里: $('.someClass').live('click',function(){ /

因此,我不断地向图形中添加新的点,我希望它们都具有相同的单击功能。但当我跑的时候

$('.someClass').click(function(){})
它仅适用于当前具有someClass的元素。如果我添加一个新的someClass元素,它就没有click侦听器

我该怎么做?每次添加元素时必须运行click函数吗?

使用jQuery方法。

使用jQuery方法

或更好地考虑方法。

或更好地考虑方法。

这里:

$('.someClass').live('click',function(){
  // Handle here
})
在这里:


问题可能是您没有向
jQuery
代码注册新对象。 添加点后,您可以尝试运行上面的
javascript
代码

如果是jsf,例如:

<h:commandButton value="Add Point>
  <f:ajax onevent="registerSomeClassObject"/>
</h:commandButton>

问题可能是您没有向
jQuery
代码注册新对象。 添加点后,您可以尝试运行上面的
javascript
代码

如果是jsf,例如:

<h:commandButton value="Add Point>
  <f:ajax onevent="registerSomeClassObject"/>
</h:commandButton>

您还可以使用jquery
bind
方法。

您还可以使用jquery
bind
方法。

完美!正是我要找的!完美的正是我要找的!当您向DOM动态添加元素时,您必须使用事件重新绑定,并且自动/轻松/etc方法是使用许多回答中指定的
.live
。当您向DOM动态添加元素时,您必须使用事件重新绑定,而自动/轻松/etc方法是使用由指定的
.live
许多答案