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