Javascript jQuery的更改不会';不适用于动态添加的两个零件

Javascript jQuery的更改不会';不适用于动态添加的两个零件,javascript,jquery,Javascript,Jquery,我有一堆js代码,可以更容易地完成,但不知道如何完成 问题是我用2个计算器来计算值 一个是活动的,而拖放是可用的,然后它是禁用移动分辨率。。。第二个仅在移动分辨率上有效 无论如何,我有以下几点: items = ['item 22', 'item 23'] output = [] for (var i = 0; i < items.length; i++) { output.push('<p>' + items[i] + '<input class="total-

我有一堆js代码,可以更容易地完成,但不知道如何完成

问题是我用2个计算器来计算值

一个是活动的,而拖放是可用的,然后它是禁用移动分辨率。。。第二个仅在移动分辨率上有效

无论如何,我有以下几点:

items = ['item 22', 'item 23']
output = []
for (var i = 0; i < items.length; i++) {
    output.push('<p>' + items[i] + '<input class="total-items" value="0" />' + '</p>');
}
$('#total-elements').html(output.join(""));
$(".total-items").change(function(e) {
    calculateTotal();
});
代码放在文档中准备就绪。。。 问题在于onClick部分,如果(
deleteRecord()
)函数放在documentready中,那么它就不能工作(我得到ReferenceError:'functionName'未定义…当我将其放置在文档外准备就绪,然后我需要移动一些其他部分以使其工作,但现在,当我单击从列表中删除一项时,它将删除它,这是可以的,但如果我尝试添加值以使用计算器,它将不会计算它们,因为
。更改()
根本不会触发

如果像这样将其添加到文档准备就绪之外

$(document).change(".total", function(e) {
  calculate();
});
然后放置在document ready中的
calculateTotal()
将无法工作

所以我不知道如何让他们都工作

有什么建议吗

谢谢

.change()根本不会触发

因为您的输入
.total items
.total
是通过javascript动态添加到DOM的,所以您必须使用事件委派

$("body").on("change", ".total", function(e) {
     calculate();
});

$("body").on("change", ".total-items", function(e) {
     calculateTotal();
});
希望这有帮助

.change()根本不会触发

因为您的输入
.total items
.total
是通过javascript动态添加到DOM的,所以您必须使用事件委派

$("body").on("change", ".total", function(e) {
     calculate();
});

$("body").on("change", ".total-items", function(e) {
     calculateTotal();
});
希望这有帮助。

使用事件委派

$(document).on('change',".total", function(e) {
     calculate();
});

$(document).on('change',".total-items", function(e) {
     calculateTotal();
});
使用事件委派

$(document).on('change',".total", function(e) {
     calculate();
});

$(document).on('change',".total-items", function(e) {
     calculateTotal();
});

$(文档)。更改(…)
???您描述的问题就像一个范围问题,但您没有提供任何与JavaScript中的代码设置事件侦听器相关的上下文,这总是比内联html侦听器更令人头痛。@a.Wolff我更改了该部分等待,您使用的代码是什么???为什么要用一些随机代码编辑问题?这里是
$(文档)。更改(“.total”,function(){…});
现在刚好错了。请找一个更好的标题。
$(文档)。更改(…)
???您描述的问题就像一个范围问题,但您没有提供任何与JavaScript中的代码设置事件侦听器相关的上下文,这总是比内联html侦听器更令人头痛。@a.Wolff我更改该部分等待,您使用的代码是什么???为什么要用一些随机代码编辑问题?此处
$(文档)。更改(“.total“,function(){…});
现在就错了,请找一个更好的标题。