Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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 - Fatal编程技术网

Javascript 如何对每个动态添加的内容启用jQuery

Javascript 如何对每个动态添加的内容启用jQuery,javascript,jquery,Javascript,Jquery,我正在处理下面的代码。为什么在将内容动态添加到文档中时,我不能使用$('.quantity').each(function())?正如您可以看到的$('.quantity')。each()在硬编码但不处理动态内容时,功能正常 $(“#添加”)。在(“单击”,函数(){ $(“#内容”).empty(); 对于(变量i=0;i=最大值){ var newVal=旧值; }否则{ var newVal=oldValue+1; } 微调器.find(“.number”).text(newVal);

我正在处理下面的代码。为什么在将内容动态添加到文档中时,我不能使用
$('.quantity').each(function()
)?正如您可以看到的
$('.quantity')。each()在硬编码但不处理动态内容时,功能正常

$(“#添加”)。在(“单击”,函数(){
$(“#内容”).empty();
对于(变量i=0;i<2;i++){
$(“#内容”)。追加(`
-
1.
+
`);
}
});
$('.quantity')。每个(函数(){
var spinner=jQuery(this),
输入=微调器.find('.number'),
btnUp=spinner.find('.quantity up'),
btnDown=spinner.find('.quantity down'),
val=input.text(),
最小值=输入数据('min'),
max=输入数据('max');
微调器.find(“.number”).text(val);
btnUp.click(函数(){
var oldValue=parseFloat(input.text());
如果(旧值>=最大值){
var newVal=旧值;
}否则{
var newVal=oldValue+1;
}
微调器.find(“.number”).text(newVal);
微调器。查找(“.number”)。触发器(“更改”);
});
单击(函数(){
var oldValue=parseFloat(input.text());

如果在DOM加载时(oldValue,则在具有指定类的所有元素上设置侦听器。稍后动态加载元素时,该元素缺少侦听器

一种解决方案是使侦听器加法器成为一个函数,并在添加动态内容时调用它

否则,您可以分离click listener函数,并在创建过程中将其添加到动态内容中

$(“#添加”)。在(“单击”,函数(){
$(“#内容”).empty();
对于(变量i=0;i<2;i++){
$(“#内容”)。追加(`
-
1.
+
`);
}
listenerAdd();
});
函数listenerAdd(){
$('.quantity')。每个(函数(){
var spinner=jQuery(this),
输入=微调器.find('.number'),
btnUp=spinner.find('.quantity up'),
btnDown=spinner.find('.quantity down'),
val=input.text(),
最小值=输入数据('min'),
max=输入数据('max');
微调器.find(“.number”).text(val);
btnUp.click(函数(){
var oldValue=parseFloat(input.text());
如果(旧值>=最大值){
var newVal=旧值;
}否则{
var newVal=oldValue+1;
}
微调器.find(“.number”).text(newVal);
微调器。查找(“.number”)。触发器(“更改”);
});
单击(函数(){
var oldValue=parseFloat(input.text());

如果在DOM加载时(oldValue,则在具有指定类的所有元素上设置侦听器。稍后动态加载元素时,该元素缺少侦听器

一种解决方案是使侦听器加法器成为一个函数,并在添加动态内容时调用它

否则,您可以分离click listener函数,并在创建过程中将其添加到动态内容中

$(“#添加”)。在(“单击”,函数(){
$(“#内容”).empty();
对于(变量i=0;i<2;i++){
$(“#内容”)。追加(`
-
1.
+
`);
}
listenerAdd();
});
函数listenerAdd(){
$('.quantity')。每个(函数(){
var spinner=jQuery(this),
输入=微调器.find('.number'),
btnUp=spinner.find('.quantity up'),
btnDown=spinner.find('.quantity down'),
val=input.text(),
最小值=输入数据('min'),
max=输入数据('max');
微调器.find(“.number”).text(val);
btnUp.click(函数(){
var oldValue=parseFloat(input.text());
如果(旧值>=最大值){
var newVal=旧值;
}否则{
var newVal=oldValue+1;
}
微调器.find(“.number”).text(newVal);
微调器。查找(“.number”)。触发器(“更改”);
});
单击(函数(){
var oldValue=parseFloat(input.text());

如果(oldValue您的代码没有问题,那就是放错地方了。我用按钮逻辑将代码打包到一个命名函数中。您将在创建新按钮时使用此函数

此外,新按钮的HTML应包装在
$(…)
中,以存储它们,并在将它们附加到
#content
后使用它们

功能启用按钮(){
var spinner=jQuery(this),
输入=微调器.find('.number'),
btnUp=spinner.find('.quantity up'),
btnDown=spinner.find('.quantity down'),
val=input.text(),
最小值=输入数据('min'),
max=输入数据('max');
微调器.find(“.number”).text(val);
btnUp.click(函数(){
var oldValue=parseFloat(input.text());
如果(旧值>=最大值){
var newVal=旧值;
}否则{
var newVal=oldValue+1;
}
微调器.find(“.number”).text(newVal);
微调器。查找(“.number”)。触发器(“更改”);
});
单击(函数(){
var oldValue=parseFloat(input.text());

如果(oldValue您的代码没有问题,那就是放错地方了。我用按钮逻辑将代码打包到一个命名函数中。您将在创建新按钮时使用此函数

此外,新按钮的HTML应包装在
$(…)
中,以存储它们,并在将它们附加到
#content
后使用它们

功能启用按钮(){
var spinner=jQuery(this),
输入=微调器.find('.number'),
btnUp=spinner.find('.quantity up'),
btnDown=spinner.find('.quantity down'),
val=input.text(),
最小值=输入数据('min'),
max=输入数据('max');
微调器.find(“.number”).text(val);
btnUp.click(函数(){
var oldValue=parseFloat(input.te